原油采购与加工问题原油采购与加工问题:某公司用两种原油、混合加工成两种汽油甲、乙。甲、乙两种汽油含原油的最低比例分别为和,每吨售价分别为元和元该公司现有原油和的库存量分别为吨和吨,还可以从市场上买到不超过吨的原油。原油的市场价为:购买不超过吨时的单价为元吨;购买超过吨但不超过吨时,超过吨部分的单价为元吨;购买量超过吨时,超过吨部分的单价为元吨。该公司如何安排原油的采购和加工。()问题分析安排原油采购、加工的目标是利润最大,题目中给出的是两种汽油的售价和原油的采购价,利润为销售汽油的收入与购买原油的支出之差。这里的难点在于原油的采购价与购买量的关系比较复杂,是分段函数关系,能否及如何用线性规划、整数规划模型加以处理是关建所在。()模型建立设原油的购买量为(单位:吨)。根据题目所给数据,采购的支出可表示为如下的分段线性函数(以下价格以千元吨为单位):00.5()x+x1121xi2>0.6()x+xx,x,x,x,x>011122122由于()式中的不是线性函数,()()给出的是一个非线性规划,而且,对于这样用分段函数定义的,—般的非线性规划软件也难以输入和求解。能不能想办法将该模型化简,从而用现成的软件求解呢?一个自然的想法是将原油的采购量分解为三个量,即用x,x,x分别表示以价123格千元吨、千元吨、千元吨采购的原油的吨数,总支出为c(x)=10x+8x+6x,且x=x+x+x123123这时目标函数()变为线性函数maxz=4.8(x+x)+5.6(x+x)-(10x+8x+6x)11211222123应该注意到,只有当以千元吨的价格购买x1=500(吨)时,才能以千元吨的价格购买x2(〉0),这个条件可以表示为(x-500)x=0()12同理,只有当以千元吨的价格购买x2=500(吨)时,才能以千元吨的价格购买x3(〉0),于是(x-500)x=0()23此外,x1,x29x3的取值范围是00;0.4*y(3)-0.6*y(4)>0;(x(1)-500)*x(2)=0;(x(2)-500)*x(3)=0;@for(var2:@bnd(0,x,500));data:c=1086;enddataendmodel:sets:var1/1..4/:y;!y(1)=x11,y(2)=x21,y(3)=x12,y(4)=x22;var2/1..3/:x,z,c;endsetsmax=4.8*(y(1)+y(2))+5.6*(y(3)+y(4))-@sum(var2:c*x);y(1)+y(3)<@sum(var2:x)+500;y(2)+y(4)<1000;0.5*(y(1)-y(2))>0;0.4*y(3)-0.6*y(4)>0;@for(var2(i)|i#lt#3:500*z(i+1)0;0.4*z(3)-0.6*z(4)>0;(x(1)-500)*x(2)=0;(x(2)-500)*x(3)=0;@for(var2:@bnd(0,x,500));data:c=1086;enddataend