document.write( "Question 1196210: A transport company has two types of trucks, Type A and Type B. Type A has a refrigerated capacity of 20m and non refrigerated capacity of 10m while type B has the same overall volume with equal sections for refrigerated and non refrigerated stock. A grocer needs to hire trucks for the transport of 3000m³ of refrigerated stock and 4000m³ of non refrigerated stock. The cost per kilometre of a Type A is #30 and #40 for Type B. How many trucks of each type should the grocer rent to achieve the minimum total cost? \n" ); document.write( "
Algebra.Com's Answer #828997 by ikleyn(52786)\"\" \"About 
You can put this solution on YOUR website!
.
\n" ); document.write( "A transport company has two types of trucks, Type A and Type B.
\n" ); document.write( "Type A has a refrigerated capacity of 20m and non refrigerated capacity of 10m
\n" ); document.write( "while type B has the same overall volume with equal sections for refrigerated
\n" ); document.write( "and non refrigerated stock.
\n" ); document.write( "A grocer needs to hire trucks for the transport of 3000m³ of refrigerated stock
\n" ); document.write( "and 4000m³ of non refrigerated stock.
\n" ); document.write( "The cost per kilometre of a Type A is #30 and #40 for Type B.
\n" ); document.write( "How many trucks of each type should the grocer rent to achieve the minimum total cost?
\n" ); document.write( "~~~~~~~~~~~~~~~~\r
\n" ); document.write( "
\n" ); document.write( "
\n" ); document.write( "\n" ); document.write( "        The solution to the problem given in the post by @amoresroy, is incorrect.\r
\n" ); document.write( "
\n" ); document.write( "\n" ); document.write( "        It is incorrect numerically, because there is better solution,
\n" ); document.write( "        and it is incorrect logically and conceptually,
\n" ); document.write( "        because the problem is an integer linear programming and should be
\n" ); document.write( "        solved adequately, while @amoresroy tries to solve it as quasi-linear algebra problem.\r
\n" ); document.write( "
\n" ); document.write( "
\n" ); document.write( "\n" ); document.write( "
\r\n" );
document.write( "The better (and the best) solution is (1 type A truck and 266 type B trucks).\r\n" );
document.write( "\r\n" );
document.write( "It provides 20*1 + 15*266 = 4010 m^3 of the total refrigerated capacity (which is much more than the necessary 3000m^3)\r\n" );
document.write( "\r\n" );
document.write( "       and  10*1 + 15*266 = 4000 m^3 of the total non-refrigerator capacity (which exactly equals to the necessary 4000 m^3)\r\n" );
document.write( "\r\n" );
document.write( "       at the price 30*1 + 40*266 = #10670.\r\n" );
document.write( "\r\n" );
document.write( "\r\n" );
document.write( "\r\n" );
document.write( "While the solution by @amoresroy (0 type A trucks and 277 type B trucks) \r\n" );
document.write( "\r\n" );
document.write( "   provides 20*0 + 15*267 = 4010 m^3 of the total refrigerated capacity (which is much more than the necessary 3000m^3)\r\n" );
document.write( "\r\n" );
document.write( "       and  10*0 + 15*267 = 4005 m^3 of the total non-refrigerator capacity (which is more than necessary 4000 m^3)\r\n" );
document.write( "\r\n" );
document.write( "       at the GREATER price 30*0 + 40*267 = #10680.\r\n" );
document.write( "
\r
\n" ); document.write( "
\n" ); document.write( "\n" ); document.write( "            Now I am ready to start discussing the solution itself.\r
\n" ); document.write( "
\n" ); document.write( "
\n" ); document.write( "\n" ); document.write( "
\r\n" );
document.write( "First, clearly, it is a Linear programming problem.\r\n" );
document.write( "\r\n" );
document.write( "If we are going to solve it as a Linear programming problem, we should provide\r\n" );
document.write( "the constraints, the objective function and the feasibility domain.\r\n" );
document.write( "\r\n" );
document.write( "\r\n" );
document.write( "If X and Y be the numbers of type A trucks and type B trucks, then\r\n" );
document.write( "\r\n" );
document.write( "     the objective function is  P(X,Y) = 30X + 40Y;     (1)\r\n" );
document.write( "\r\n" );
document.write( "     The constraints are  20X + 15Y >= 3000             (2)\r\n" );
document.write( "                          10X + 15Y >= 4000             (3)\r\n" );
document.write( "                          X >= 0, Y >= 0.               (4)\r\n" );
document.write( "\r\n" );
document.write( "     The feasibility domain is the area in first quadrant above the lines \r\n" );
document.write( "\r\n" );
document.write( "         20X + 15Y = 3000,    (5)\r\n" );
document.write( "         10X + 15Y = 4000.    (6)\r\n" );
document.write( "\r\n" );
document.write( "\r\n" );
document.write( "If you draw these lines, you will see that that they do not intersect in QI: \r\n" );
document.write( "line (6) is everywhere ABOVE line (5) in QI.\r\n" );
document.write( "\r\n" );
document.write( "Thus the feasibility domain is the part of QI above line (6).\r\n" );
document.write( "\r\n" );
document.write( "And then it is clear that the objection function should be minimal at either x- or y-intercepts\r\n" );
document.write( "of line (6). \r\n" );
document.write( "\r\n" );
document.write( "After that, an easy check shows that linear function is minimal at y-intercept (X,Y) = (0, 266 2/3).\r\n" );
document.write( "\r\n" );
document.write( "\r\n" );
document.write( "    +---------------------------------------------------------------------+\r\n" );
document.write( "    |   B U T (!)   - but we are looking for  integer numbers of trucks   |\r\n" );
document.write( "    +---------------------------------------------------------------------+\r\n" );
document.write( " \r\n" );
document.write( "\r\n" );
document.write( "It means that the solution X = 0,  Y = 266 2/3  DOES NOT work.\r\n" );
document.write( "\r\n" );
document.write( "\r\n" );
document.write( "It's all about that the solution must be in integer numbers.\r\n" );
document.write( "\r\n" );
document.write( "\r\n" );
document.write( "So, our problem is NOT a standard Linear programming.\r\n" );
document.write( "\r\n" );
document.write( "\r\n" );
document.write( "It belongs to a special sub-type of LP-problems - - - to the type of so called \"integer LP-problems\".\r\n" );
document.write( "\r\n" );
document.write( "Their peculiarity is that they require specific methods of analysis.\r\n" );
document.write( "\r\n" );
document.write( "\r\n" );
document.write( "More concretely and more specific, we should consider the points (X,Y) with integer coordinates X and Y\r\n" );
document.write( "in the feasibility domain ( i.e. above the line (6) ), that are close to this line.\r\n" );
document.write( "\r\n" );
document.write( "These points will satisfy all necessary restrictions, and we should check and find a point (or points)\r\n" );
document.write( "with minimal value of the objective function.\r\n" );
document.write( "\r\n" );
document.write( "\r\n" );
document.write( "I did this job manually (my MS Excel software helped me). The results are presented in the table below.\r\n" );
document.write( "\r\n" );
document.write( "\r\n" );
document.write( " Point   X       Y         non-refrigerated   objective function,\r\n" );
document.write( "   #    coordinates          volume, m^3        dollars\r\n" );
document.write( "----------------------------------------------------------\r\n" );
document.write( "   1	 0	267		4005		10680\r\n" );
document.write( "   2	 1	266		4000		10670    <<<---=== the optimal solution.\r\n" );
document.write( "   3	 2	266		4010		10700\r\n" );
document.write( "   4	 3	265		4005		10690\r\n" );
document.write( "   5	 4	264		4000		10680\r\n" );
document.write( "   6	 5	264		4010		10710\r\n" );
document.write( "   7	 6	263		4005		10700\r\n" );
document.write( "   8	 7	262		4000		10690\r\n" );
document.write( "   9	 8	262		4010		10720\r\n" );
document.write( "  10	 9	261		4005		10710\r\n" );
document.write( "  11	10	260		4000		10700\r\n" );
document.write( "  12	11	260		4010		10730\r\n" );
document.write( "\r\n" );
document.write( "As you see from the table, the optimal solution is 1 truck A and 266 trucks B,\r\n" );
document.write( "with the total cost of 10670 dollars.\r\n" );
document.write( "\r\n" );
document.write( "\r\n" );
document.write( "In the table, I analyzed only 10 integer points in the feasibility domain, that are in vicinity of (0, 266 2/3), \r\n" );
document.write( "but the tendency is just clear and allows to make a necessary conclusion.\r\n" );
document.write( "
\r
\n" ); document.write( "\n" ); document.write( "Solved.\r
\n" ); document.write( "
\n" ); document.write( "\n" ); document.write( "-----------------\r
\n" ); document.write( "
\n" ); document.write( "\n" ); document.write( "To read more about solving typical  Linear  Programming problems,  see the lesson\r
\n" ); document.write( "\n" ); document.write( "    - Solving minimax problems by the Linear Programming method \r
\n" ); document.write( "\n" ); document.write( "in this site.\r
\n" ); document.write( "
\n" ); document.write( "
\n" ); document.write( "\n" ); document.write( "To read more about  Integer  Linear  Programming problems,  see the lesson\r
\n" ); document.write( "\n" ); document.write( "    - Solving integer Linear Programming problems \r
\n" ); document.write( "\n" ); document.write( "in this site.\r
\n" ); document.write( "
\n" ); document.write( "
\n" ); document.write( "\n" ); document.write( "
\n" ); document.write( "
\n" );