资源描述:
《一个matlab高手十年编程经验的吐血推荐之线性规划》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、%目标函数所对应的设计变量的系数,为求极小,故取原目标函数系数的相反数c=[-1;-1];%不等式约束A=[-42;42;0-2];b=[-1;11;-1];%设计变量的边界约束,无上界约束lb=[0;0];%均要求为整数变量M=[1;2];%判断是否整数的误差限Tol=1e-8;%求解原问题松弛线性规划的最优解x和目标函数在x处的值fval[x,fval]=linprog(c,A,b,[],[],lb,[])%求最优解整数解x1和目标函数在x处的值fval1,结果为原问题最优值的相反数[x1,fval1]=intprog(c,A,b,[],[],lb,[],M,Tol)
2、Optimizationterminated.x=1.50002.5000fval=-4.0000x1=21fval1=-3.0000%目标函数所对应的设计变量的系数c=ones(1,6);%不等式约束A=[000-1-1-2;0-1-20-10;-4-2-1-200];b=[-20;-40;-80];%设计变量的边界约束lb=zeros(1,6);%所有变量均为整数变量,故将所有序号组成向量MM=[1;2;3;4;5;6];%判定为整数的误差限Tol=1e-8;%求最优解x和目标函数值fval,并返回状态指示[x,fval]=intprog(c,A,b,[],[],lb
3、,[],M,Tol)x=50202000fval=45.0000%目标函数所对应的设计变量的系数c=[1;3;1;1;3;2];%不等式约束A=[000-1-1-20-1-20-10-4-2-1-200];b=[-20;-40;-80];%设计变量的边界约束lb=zeros(1,6);%所有变量均为整数变量,故将所有序号组成向量MM=[1;2;3;4;5;6];%判定为整数的误差限Tol=1e-8;%求最优解x和目标函数值fval,并返回状态指示[x,fval]=intprog(c,A,b,[],[],lb,[],M,Tol)%求出此时所用钢管的数目s=sum(x)x=5
4、0202000fval=45.0000s=45%目标函数所对应的设计变量的系数f=ones(1,6);%不等式约束A=[-1-10000;0-1-1000;00-1-100;000-1-10;0000-1-1;-10000-1];b=[-120;-80;-60;-30;-50;-100];%边界约束,由于无上界,故设置ub=[Inf;Inf;Inf;Inf;Inf;Inf];lb=[0;0;0;0;0;0];ub=[Inf;Inf;Inf;Inf;Inf;Inf];%所有变量均为整数变量,故将所有序号组成向量MM=[1;2;3;4;5;6];%判定为整数的误差限Tol=1
5、e-8;%求最优解x和目标函数值fval,并返回状态指示[x,fval,exitflag]=intprog(f,A,b,[],[],lb,ub,M,Tol)x=50702535050fval=230.0000exitflag=1%目标函数所对应的设计变量的系数c=[-20;-6;-8;-9];%不等式约束A=[10652;7224;21110;0-1-11];b=[19;11;12;0];%用于intprog函数的设计变量的边界约束,由于为0-1规划,故设置上界为全1lb=[0;0;0;0];ub=[1;1;1;1];%均要求为整数变量M=1:4;%判断是否整数的误差限T
6、ol=1e-8;%调用intprog函数求最优解整数解x和目标函数在x处的值fval[x,fval,exitflag]=intprog(c,A,b,[],[],lb,ub,M,Tol)%调用bintprog函数求最优解整数解x1和目标函数在x1处的值fval1[x1,fval1,exitflag,output]=bintprog(c,A,b)x=1010fval=-28.0000exitflag=1Optimizationterminated.x1=1010fval1=-28exitflag=1output=iterations:27nodes:11time:0.0156
7、algorithm:'LP-basedbranch-and-bound'branchStrategy:'maximumintegerinfeasibility'nodeSrchStrategy:'bestnodesearch'message:'Optimizationterminated.'%目标函数所对应的设计变量的系数c=[-20;-6;-8;-9];%不等式约束A=[10652;7224;21110;0-1-11];b=[19;11;12;0];%用于intprog函数的设计变量的边界约束,由于为0-1规划,故设置上界为