PuLP muy lento al agregar muchas restricciones

Estoy tratando de usar PuLP, pero está tomando 50 segundos para agregar 4000 restricciones (con 67 variables). Resolver el problema solo toma una fracción de segundo.

Queremos usar PuLP para probar fácilmente varios solucionadores en un gran conjunto de problemas.

¿Debería estar tomando PuLP tanto tiempo? Usar PyGLPK directamente toma solo una fracción de segundo, incluyendo tanto la configuración como la resolución, así que espero que no. ¿Qué puedo hacer para mejorar la eficiencia de este paso en PuLP?


Actualizar

Mi matriz de restricciones es muy escasa, y pude reducir el tiempo de configuración a 4 o 5 segundos para este problema en particular al incluir solo los coeficientes distintos de cero. Todavía puedo escribir mi propio archivo con formato .lp o .mps, resolver el problema con un subproceso cbc o glpsol, y analizar la solución de manera mucho más eficiente que PuLP, simplemente porque puedo escribir el archivo de entrada en unos pocos ms cuando PuLP lleva varios segundos Todavía no estoy seguro de por qué esto sería.

No tengo suficientes representantes para comentar.

Pero has visto esto:

https://groups.google.com/forum/#!topic/pulp-or-discuss/p1N2fkVtYyM

Se hace la pregunta:

"The problem is solved in less than 0.5 second. However setting it up with PULP takes more than 10 seconds. " 

Esto parece ser lo que usted informa también. Y la solución es no usar los operadores + = o la sum (…), sino también, como se explica en el enlace:

 yeah using the += operator with pulp is really slow, as is using sum() instead of lpSum() 

Entonces, ¿tal vez está agregando las restricciones 1 a la vez a PuLP en lugar de crear primero la lista de restricciones y luego, al final, agregar las restricciones a PuLP?