Estoy tratando de aprender más sobre el puente aéreo de Berlín problema de transporte. Dos enlaces que he podido encontrar están aquí:
http://drmohdzamani.com/notes/file/Simplex%20Method.pdf
http://www.cabrillo.edu/~mladdon/math13/LP%20Dantzig%20Berlin%20Problem.pdf
Declaración del problema es como sigue:
El 24 de junio de 1948, la Unión Soviética bloqueó todas las tierras y el agua de las rutas a través de la Alemania Oriental a Berlín. Un gigantesco puente aéreo fue organizado a través de Estadounidenses y Británicos aviones para el suministro de alimentos, ropa y otros suministros para más de 2 millones de personas en el Oeste de Berlín. La capacidad de carga era de 30.000 pies cúbicos para un avión de American y 20.000 pies cúbicos para un avión Británico. A romper el bloqueo Soviético, los Aliados Occidentales habían maximizar la carga capacidad, pero estaban sujetos a las siguientes restricciones: No más de 44 los aviones podrían ser utilizados. El más grande de América aviones de 16 de personal por el vuelo; el doble que el de la exigencia de los aviones Británicos. El total de número de personal disponible no podría superar los 512. El costo de un Vuelo de American fue \$9000 and the cost of a British flight was \$5000. El semanal total de los costos de nota exceder \$300,000. Encontrar el número de Estadounidenses y Británicos aviones que fueron utilizados para maximizar la capacidad de carga.
Sobre esta base, el autor ha
$x+y \le 44$
$16x + 8y \le 512$
$9000x + 5000y \le 300000$
La función de costo no fue dada [ver @joriki la respuesta para el costo correcto]. Mis preguntas son, el problema dice que los aviones no pueden exceder de 44, pero el problema no es el estado de la conexión entre vuelos y aviones. Hay 44 aviones, a la derecha, pero ¿puedo usar todos los 44 en un día? En una semana?
En relación con esta petición, si alguien tiene la definición completa de este problema, sería muy apreciado.
También el valor numérico de la solución sería genial, así que me puede replicar.
Además:
El uso de Python LP código:
http://projects.scipy.org/scipy/attachment/ticket/1252/lp.py
Yo lo llamo como:
import numpy as np
import lp
A = np.array([[1., 1.],[16., 8.],[9000., 5000.]])
b = np.array([44., 512., 300000.])
c = np.array([30000., 20000.])
optx,zmin,is_bounded,sol,basis = lp.lp(c,A,b)
print zmin
print optx
Voy a recibir el 20 y 23 de resultados.
Gracias,