Buenos días, He hecho un desarrollo en mi máquina (de 64 bits) y funciona correctamente. Se trata de un problema de programación lineal (usando lpSolve y lpSolveAPI). El problema viene al ejecutar un caso concreto que en la máquina del usuario (de 32 bits) nos da que no hay solución factible para ese problema, pero en mi máquina de 64 sí que nos devuelve una solución. ¿Hay alguna forma (limitar decimales, por ejemplo) de solucionar esto? He probado con las versiones de R 3.1.3 y 3.2 Muchas gracias. Un saludo.
Hola Sergio, En principio las diferencias entre 32 y 64 bits están relacionadas con cuánta RAM puede gestionar R. Esto efectivamente puede afectar a tu problema por el nivel de profundidad que el algoritmo simplex utilice hasta encontrar la solución y eso está asociado con la RAM que puede gestionarse. De todas formas prueba, en tu máquina de 32 bits, a modificar los parámetros de control donde supongo que podrás indicar el número máximo de iteraciones o incluso la precisión con la que simplex ya considere que ha convergido a una solución. Estos parámetros suelen estar en una función auxiliar de control. Saludos, Carlos. El 24 de abril de 2015, 9:21, Sergio Castro < castro.rodriguez.sergio en gmail.com> escribió:> Buenos días, > > He hecho un desarrollo en mi máquina (de 64 bits) y funciona > correctamente. Se trata de un problema de programación lineal (usando > lpSolve y lpSolveAPI). El problema viene al ejecutar un caso concreto > que en la máquina del usuario (de 32 bits) nos da que no hay solución > factible para ese problema, pero en mi máquina de 64 sí que nos > devuelve una solución. ¿Hay alguna forma (limitar decimales, por > ejemplo) de solucionar esto? > He probado con las versiones de R 3.1.3 y 3.2 > > Muchas gracias. > Un saludo. > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]
Muchas gracias Carlos, He cambiado el número máximo de pivots y el parámetro epsb y ha funcionado. Cambiando sólo una de los dos parámetros basta para que se ejecute correctamente en 32 bits. Un saludo. El día 24 de abril de 2015, 11:28, Carlos Ortega <cof en qualityexcellence.es> escribió:> Hola Sergio, > > En principio las diferencias entre 32 y 64 bits están relacionadas con > cuánta RAM puede gestionar R. > Esto efectivamente puede afectar a tu problema por el nivel de profundidad > que el algoritmo simplex utilice hasta encontrar la solución y eso está > asociado con la RAM que puede gestionarse. > > De todas formas prueba, en tu máquina de 32 bits, a modificar los parámetros > de control donde supongo que podrás indicar el número máximo de iteraciones > o incluso la precisión con la que simplex ya considere que ha convergido a > una solución. > > Estos parámetros suelen estar en una función auxiliar de control. > > Saludos, > Carlos. > > El 24 de abril de 2015, 9:21, Sergio Castro > <castro.rodriguez.sergio en gmail.com> escribió: >> >> Buenos días, >> >> He hecho un desarrollo en mi máquina (de 64 bits) y funciona >> correctamente. Se trata de un problema de programación lineal (usando >> lpSolve y lpSolveAPI). El problema viene al ejecutar un caso concreto >> que en la máquina del usuario (de 32 bits) nos da que no hay solución >> factible para ese problema, pero en mi máquina de 64 sí que nos >> devuelve una solución. ¿Hay alguna forma (limitar decimales, por >> ejemplo) de solucionar esto? >> He probado con las versiones de R 3.1.3 y 3.2 >> >> Muchas gracias. >> Un saludo. >> >> _______________________________________________ >> R-help-es mailing list >> R-help-es en r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > > -- > Saludos, > Carlos Ortega > www.qualityexcellence.es