-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(lib/solvers/glpk): parse file following GLPK LP/MIP format #2
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ahí te puse unos comentarios! se ve bien pero en verdad mucho no entiendo jajaja
lib/solvers/glpk.rb
Outdated
command = "#{executable} --lp #{@filename} %s --cuts --output #{@outfile}" | ||
command %= "--write #{glpk_filename}glpk.sol --wglp #{glpk_filename}glpk.prob" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
esto no es opcional? como los de abajo que hace options[:gap] ? "--...."
? y no cacho muy bien si tiene sentido o no, pero podría ir dentro de ese arreglo
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ah no no es opcional, debería ponerla arriba 😱
lib/solvers/glpk.rb
Outdated
variables.each do |var| | ||
var.value = vars_by_name[var.to_s].to_f | ||
id = column_ids[var&.to_s] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cuando es nil la var qué pasa? no importa que var.value al final quede nil?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
mm creo que var no puede ser nil, quizas en ese caso es mejor sacarle el & para que no quede raro 🤔
8439ca6
to
7bd76bc
Compare
Previously, a monkeypatch to Kernel#method_missing and Object#const_missing was used. The first one was causing significant app slowing in development, so this attempts to fix that
…-apps Fix kernel method missing slowing apps
Contexto
Rulp es una librería que permite obtener soluciones a problemas de programación lineal (LP) y programación entera mixta (MIP) facilitando la generación del archivo con el problema y la lectura del archivo con la solución.
Para utilizarla se debe instalar un solver, para el caso de Platanus se utilizar GLPK en la versión 4.64.
Problema
Se encontró un bug utilizando la librería que generaba que el archivo de respuesta no se leyera correctamente.
Solución
Se cambiará la manera en que se lee la respuesta utilizando el formato estándarizado llamado GLPK LP/MIP. La documentación aparece en el Manual de referencia GNU Linear Programming Kit en el capitulo Utility API routines secciones Problem data reading/writing routines y Problem solution reading/writing routines.
Qué se está haciendo
n j COL NAME
(ver foto Problema nuevo formato).s bas ROWS COLS PST DST OBJ
s ipt ROWS COLS SST OBJ
s mip ROWS COLS SST OBJ
j COL ST PRIM DUAL
j COL PRIM DUAL
j COL VAL
store_results
sus respectivas soluciones.Otros
Solución formato antiguo
Problema nuevo formato
Solución nuevo formato