根據規劃條件畫出可行域,妳第壹題的右邊已經畫兩條了,還差y=x這壹條(取其上方為可行域)
將z=2x+y寫成y=-2x+z的形式
這時規劃問題變成找y=-2x的最大截距問題了
畫出y=-2x,找到其在可行域內,且截距最大的點。
可以發現該點為x=2,y=-1.此時z=3
第二題類似,我就不手動給妳解了。
最小值時,x=-2,y=-1;Z=-11
最大值時,x=1.5,y=2.5,Z=17
這裏我直接用matlab給妳解出來,並將程序給妳附上。
我不知道妳是幾年級的學生,不過我希望妳除了手動解決問題以外,也學會使用科學計算工具。將來是信息時代,掌握現代科學計算工具能大幅提高我們的效率。在外國,較優秀的高中生都會通過編程解決問題。中國可能教育制度的問題,學生在這方面的能力比較弱。如果妳是高中生我希望妳能掌握這些計算工具的簡單用法,比如解方程和解線性規劃等,妳學過的數學問題。
clear
clc
%第壹題
%化成標準型
%f=2*x1+x2
%-x1+x2<=0
%x1+x2<=1
%-inf<x1<inf,x2>=-1
c=[-2;-1];
A=[-1 1;1 1];
b=[0;1];
aeq=[];beq=[];
vlb=[-Inf;-1];
vub=[Inf;Inf];
%-(最大值)
[x,fval]=linprog(c,A,b,aeq,beq,vlb,vub)
%第二題
%化成標準型
%f=3x1+5x2
%5x1+3x2<=15
%-x1+x2<=1
%x1-5x2<=3
%-Inf<=x1<=Inf,-Inf<=x2<=Inf
c=[3;5];
A=[5 3;-1 1;1 -5];
b=[15;1;3];
aeq=[];beq=[];
vlb=[-Inf,-Inf];
vub=[Inf,Inf];
%最小值
[x,fval]=linprog(c,A,b,aeq,beq,vlb,vub)
c=[-3;-5];
%-(最大值)
[x,fval]=linprog(c,A,b,aeq,beq,vlb,vub)