Matlab求解线性规划和整数规划问题

1.线性规划问题:min  f*x
s.t.  A*x<=b
    Aeq*x=beq
    lb<=x<=ub
其中:A为不等式约束的系数矩阵,Aeq表示等式约束的系数矩阵,b表示不等式约束的常向量,beq表示等式约束的常向量,lb和ub表示自变量的上下范围。
2013苏州中考作文
求解函数
linprog(f,A,b,Aeq,beq,lb,ub)
其中:  f,A,b ,Aeq,beq,lb,ub的定义如上。
2.整数规划问题:利用函数(linprog)
先把BranchBound财迷微博函数存在matlab的路径下,BranchBound函数的内容如下:
function [y,fval]=BranchBound(c,A,b,Aeq,beq)
NL=length(c);
UB=inf;
LB=-inf;
间硝基苯胺
FN=[0];
AA(1)={A};
BB(1)={b};
k=0;
flag=0;
while flag==0;
[x,fval,exitFlag]=linprog(c,A,b,Aeq,beq);
if (exitFlag == -2) | (fval >= UB)
FN(1)=[];
if isempty(FN)==1
flag=1;
电流源else
k=FN(1);
A=AA{k};
b=BB{k};
end
else
for i=1:NL
if abs(x(i)-round(x(i)))>1e-7
kk=FN(end);
FN=[FN,kk+1,kk+2];
temp_A=zeros(1,NL);
temp_A(i)=1;
temp_A1=[A;temp_A];
AA(kk+1)={temp_A1};
b1=[b;fix(x(i))];
BB(kk+1)={b1};
远程浏览器隔离temp_A2=[A;-temp_A];
AA(kk+2)={temp_A2};
b2=[b;-(fix(x(i))+1)];
BB(kk+2)={b2};
FN(1)=[];
k=FN(1);
A=AA{k};
b=BB{k};
break;
end
end
if (i==NL) & (abs(x(i)-round(x(i)))<=1e-7)
UB=fval;
y=x;
FN(1)=[];
if isempty(FN)==1
flag=1;
else
k=FN(1);
A=AA{k};
b=BB{k};
end
end
end
联想100分学校
end
y=round(y);
fval=c*y;
再利用命令[y,fval]=BranchBound(c,A,b,Aeq,beq)即可。

本文发布于:2024-09-22 12:32:20,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/536862.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:函数   表示   利用   约束   问题   规划
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议