123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- % Examples taken from G.B. Dantzig.
- lll := {x1 >= 0,
- x1+2x2 <= 6,
- x1 + x2 >= 2,
- x1 - x2 >= 3,
- x2 >= 0,
- -2 x1 -x2 <= z };
- sol := linineq(lll,{x1,x2,z=min});
- sol := linineq(lll,{x1,x2,z=min},record=t);
- linineq({z = x1 + 2 x2 + 3 x3 + 4 x4,
- 4 = x1 + x2 + x3 + x4,
- -2 = x1 - 2 x2 + 3 x3 - 4 x4,
- x1>=0, x2>=0, x3>=0,x4>=0}, {z=min});
- linineq({z = x1 + 2 x2 + 3 x3 + 4 x4,
- 4 = x1 + x2 + x3 + x4,
- -2 = x1 - 2 x2 + 3 x3 - 4 x4,
- x1>=0, x2>=0, x3>=0,x4>=0}, {z=max});
- linineq({ x1 + x2 >= 1,
- x1 + x2 <= 2,
- x1 - x2 <= 1,
- x1 - x2 >=-1,
- -x2 =z } , {z=min});
- linineq({ 5x1 - 4x2 + 13x3 - 2x4 + x5 = 20,
- x1 - x2 + 5x3 - x4 + x5 = 8,
- x1 + 6x2 - 7x3 + x4 + 5x5 = z,
- x1>=0,x2>=0,x3>=0,x4>=0,x5>=0}, {z=min});
- % Examples for integer and mixed integer linear programming
- % (Beightler, Phillips, Wilde, pp. 142 ff)
- linineq({z= 3x1 + 2x2,
- 5x1 + 4x2 <= 23.7,
- x1 >= 0,
- x2 >= 0},
- {z=max},
- int={x1,x2});
- linineq({z= x1 + x2,
- -2x1 + 5x2 <= 8,
- 6x1 + x2 <= 30,
- x1 >= 0,
- x2 >= 0},
- {z=max},
- int={x1,x2});
- linineq({z=-7x1 + 106x2,
- -x1 + 15x2 <= 90,
- x1 + 2x2 <= 35,
- -3x1 + 4x2 <= 12,
- x1 >= 0,
- x2 >= 0},
- {z=max},
- int={x1,x2});
- linineq({z=9x1 + 6x2 + 5x3,
- 2x1 + 3x2 + 7x3 <= 35/2,
- 4x1 + 9x3 <= 15,
- x1 >= 0,
- x2 >= 0,
- x3 >= 0},
- {z=max},
- int={x1});
- % a case where the extremum requirement cannot be resolved
- sol := linineq(lll,{x1,x2,z=max});
- % print the selection from the intervals:
- on prlinineq;
- sol := linineq(lll,{x1,x2,z=min});
- sol := linineq(lll,{x1,x2,z=max});
- % print the full elimination process
- on trlinineq;
- sol := linineq(lll,{x1,x2,z=min});
- end;
|