
进一步讨论: (1)若投资0.8万元可增加原料1千克,问应否作这项投资。
(2)若每百箱甲饮料获利可增加1万元,问应否改变生产计划。
一、问题分析
为使生产两种饮料的获利最大,就应该充分的利用资源,在不超过原料及工人数量的情况下,使得厂商卖出饮料的收益最大,因此可以根据原料及工人数量的以及收益函数列出线性规划模型。
二、符号说明
X1→生产甲饮料的数量,单位:百箱
X2→生产乙饮料的数量,单位:百箱
Y→厂商卖出全部生产的两种饮料的收益
三、基本假设
1、假设影响饮料生产量的因素只有原料量、工人量以及其获利状况;其他,如:生产成本、生产效率等一律不予考虑。
2、假设由于某种特殊原因的,甲饮料最多生产8百箱。
3、假设甲、乙两种饮料的市场价格稳定,保持不变。
四、模型建立
由于工厂只有原料60千克,从而有约束方程6x1+5x2<=60
由于工厂只有工人150名,从而有约束方程 10x1+20x2<=150
根据假设2及结合实际情况,有0<=x1<=8, x2>=0
目标函数 受益最大 Max Y=10x1+9x2
将上述模型整合得下述完整模型:
Max Y=10x1+9x2
s.t
五、模型求解
为了方便使用matlab软件进行编程对上述线性规划问题进行求解,将上述模型标准化,如下: M in Y’=-10x1-9x2
s.t
matlab程序如下:
>> c=[-10,-9];
>> a=[6,5;10,20];
>> b=[60,150];
>> Aeq=[];
>> beq=[];
>> vlb=[0,0];
>> vub=8;
>> [x,fval]=linprog(c,a,b,Aeq,beq,vlb,vub)
得结果如下:x1=6.4286
x2= 4.2857
收益y1=102.8571
六、对上述问题的进一步讨论
(1)、若增加原料1千克,同时增加成本0.8万元
得线性规划模型如下:
M in Y’=-10x1-9x2
s.t
matlab程序如下:
>> c=[-10,-9];
>> a=[6,5;10,20];
>> b=[61,150];
>> Aeq=[];
>> beq=[];
>> vlb=[0,0];
>> vub=8;
>> [x,fval]=linprog(c,a,b,Aeq,beq,vlb,vub)
得结果如下:x1= 6.7143
x2= 4.1429
收益y2= 104.4286-0.8= 103.6286
因收益y 2>y 1
所以进行这项投资。
(2)、若每百箱甲饮料获利增加1万元
得线性规划模型如下:
M in Y’=-10x1-9x2
s.t
matlab程序如下:
>> c=[-10,-9];
>> a=[6,5;10,20];
>> b=[61,150];
>> Aeq=[];
>> beq=[];
>> vlb=[0,0];
>> vub=8;
>> [x,fval]=linprog(c,a,b,Aeq,beq,vlb,vub)
得结果如下:x1= 8.0000
x2= 2.6000
收益y3= 111.4000
因收益y3>y1,所以改变生产计划。
