Saltar al contenido

Scipy: programación lineal con matrices dispersas

Agradeceríamos tu ayuda para compartir nuestros enunciados acerca de las ciencias informáticas.

Solución:

Diría que formar una matriz densa (o dos) para resolver un PL disperso grande probablemente no sea lo correcto. Cuando se resuelve un PL disperso grande, es importante utilizar un solucionador que tenga funciones para manejar tales problemas y también para generar el modelo de una manera que no cree explícitamente ninguno de estos elementos cero.

Escribir un solucionador Simplex LP estable, rápido y disperso en Python como reemplazo del solucionador denso de SciPy no es un ejercicio trivial. Además, es posible que un solucionador escrito en Python puro no funcione tan bien.

Para el tamaño que indicas, aunque no muy, muy grande (puede ser un modelo grande de tamaño mediano sería una buena clasificación) es posible que desees considerar un solucionador comercial como Cplex, Gurobi o Mosek. Estos solucionadores son muy rápidos y muy confiables (resuelven básicamente cualquier problema de LP que les plantees). Todos tienen API de Python. Los solucionadores son gratuitos o muy baratos para los académicos.

Si desea utilizar un solucionador de código abierto, puede consultar el solucionador COIN CLP. También tiene una interfaz de Python.

Si su modelo es más complejo, también puede considerar usar una herramienta de modelado de Python como Pulp o Pyomo (Gurobi también tiene un buen soporte de modelado en Python).

Valoraciones y comentarios

Si tienes algún reparo y capacidad de aclarar nuestro división te evocamos añadir una disquisición y con gusto lo estudiaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *