I am trying to learn more about the Berlin Airlift transport problem. Two links I could find are here:
http://drmohdzamani.com/notes/file/Simplex%20Method.pdf
http://www.cabrillo.edu/~mladdon/math13/LP%20Dantzig%20Berlin%20Problem.pdf
Problem statement is as follows:
On June 24, 1948, the former Soviet Union blocked all land and water routes through East Germany to Berlin. A gigantic airlift was organized using American and British planes to supply food, clothing and other supplies to more than 2 million people in West Berlin. The cargo capacity was 30,000 cubic feet for an American plane and 20,000 cubic feet for a British plane. To break the Soviet blockade, the Western Allies had to maximize cargo capacity, but were subject to the following restrictions: No more than 44 planes could be used. The larger American planes required 16 personnel per flight; double that of the requirement for the British planes. The total number of personnel available could not exceed 512. The cost of an American flight was \$9000 and the cost of a British flight was \$5000. The total weekly costs could note exceed \300,000. Find the number of American and British planes that were used to maximize cargo capacity.
Based on this the author has
x+y \le 44
16x + 8y \le 512
9000x + 5000y \le 300000$
The cost function was not given [see @joriki's answer for the correct cost]. My questions are, problem says planes cannot exceed 44, but the problem doesn't state the connection between flights and planes. There are 44 planes, right, but can I use all 44 in one day? In a week?
In a related request, if anyone has the complete definition of this problem, it would be much appreciated.
Also the numeric solution would be great, so I can replicate it.
Addition:
Using the Python LP code:
http://projects.scipy.org/scipy/attachment/ticket/1252/lp.py
I call it as:
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
I receive 20 and 23 as results.
Thanks,