线性规划(LP)
目标和约束:线性函数
求解LP的基本思想:从可行域的某一顶点开始,只需在有限多个顶点中一个一个找下去,一定能得到最优解。
单纯形法:
基本想法:
从线性规划可行集的某一个顶点出发,沿着使目标函数值下降的方向寻求下一个顶点,面顶点个数是有限的,所以,只要这个线性规划有最优解,那么通过有限步选代后,必可求出最优解。
例题:
每天:50桶牛奶,时间480小时,至多加工100公斤A1
制订生产计划,使每天获利最大
• 35元可买到1桶牛奶,买吗?若买,每天最多买多少?
• 可聘用临时工人,付出的工资最多是每小时几元?
• A1的获利增加到 30元/公斤,应否改变生产计划?
【解析】
1.目标函数:(利益)
Max z = 24x3·A₁ + 16x4·A₂
= 72A₁ + 64A₂
= 72X1 + 64X2
(X1桶加工为A1,X2桶加工为A2)
2.约束条件:
原料供应 X1 + X2 <= 50
劳动时间 12·X1 + 8·X2 <=480
加工能力 3·X1 <= 100
非负约束 X1,X2 >= 0
3.代码
max=72*x1+64*x2;
x1+x2<=50;
12*x1+8*x2<=480;
3*x1<=100;
x1>=0;
x2>=0;
4.结果
在点(X1,X2)=(20,30)得到最优解3360。
上面截图里面有误,3300错了,是因为一个小口算错误,已修改。
补充数学理论公式,以后补充。参考博文:
https://blog.csdn.net/cpluss/article/details/100806516
内点算法