先将任何一个线性规划化为标准型。什么是标准型?例如:
不但如此,还要满足条件:
条件如此严苛,那岂不是很多线性规划问题无法求解?
不是的,任何一个线性规划都可以化为标准型。
假设有如下一般的线性规划,我们讨论如何将其化为上述标准型。
min4x1+3x2+5x3\min \quad 4x_1+3x_2+5x_3min4x1+3x2+5x3
s.t.s.t.s.t.
1.x1+x2−x3<=−61.\quad x_1+x_2-x_3<=-61.x1+x2−x3<=−6
2.x1+2x2−x3<=62.\quad x_1+2x_2-x_3<=62.x1+2x2−x3<=6
x1<=0,x2>=0,x3无约束x_1<=0,x_2>=0,x_3无约束x1<=0,x2>=0,x3无约束
1.
目标函数取最大,从而将目标函数改为:
max−4x1−3x2−5x3\max \quad -4x_1-3x_2-5x_3max−4x1−3x2−5x3
2.
右边非负,从而将约束条件1改为:
1.−x1−x2+x3>=61.\quad -x_1-x_2+x_3>=61.−x1−x2+x3>=6
3.
约束条件需要是等式,从而将约束条件1改为:
1.−x1−x2+x3−x4=61.\quad -x_1-x_2+x_3-x_4=61.−x1−x2+x3−x4=6
x4>=0x_4>=0x4>=0
从而将约束条件2改为:
2.x1+2x2−x3+x5=62.\quad x_1+2x_2-x_3+x_5=62.x1+2x2−x3+x5=6
x5>=0x_5>=0x5>=0
4.
决策变量必须要大于或等于0,从而删去x1<=0x_1<=0x1<=0变成x6>=0x_6>=0x6>=0,其中x1=−x6x_1=-x_6x1=−x6
从而删去x3无约束x_3无约束x3无约束,变成x7>=0,x8>=0x_7>=0,x_8>=0x7>=0,x8>=0,其中x3=x7−x8x_3=x_7-x_8x3=x7−x8。
最终变成:
max4x6−3x2−5(x7−x8)\max \quad 4x_6-3x_2-5(x_7-x_8)max4x6−3x2−5(x7−x8)
s.t.s.t.s.t.
1.x6−x2+(x7−x8)−x4=61.\quad x_6-x_2+(x_7-x_8)-x_4=61.x6−x2+(x7−x8)−x4=6
2.−x6+2x2−(x7−x8)+x5=62.\quad -x_6+2x_2-(x_7-x_8)+x_5=62.−x6+2x2−(x7−x8)+x5=6
x2>=0,x4>=0,x5>0,x6>=0,x7>=0,x8>=0x_2>=0,x_4>=0,x_5>0,x_6>=0,x_7>=0,x_8>=0x2>=0,x4>=0,x5>0,x6>=0,x7>=0,x8>=0
至于如何保证(A,b,c)(A,b,c)(A,b,c)为整数,我想这个不用多说了吧,左右两端同时乘以公倍数即可,如果是目标函数中有小数,直接乘以一个公倍数即可,到时候得到了最大值后,再除回去即为真正的最大值。