如何用matlab编写混合整数规划,MATLAB中的混合整数线性规划

我试图用MATLAB解决这个混合整数线性规划问题 . 但是,我在matlab中对线性目标函数和决策变量求和的定义存在问题 . 我在MATLAB中使用intlinprog函数 . 请在下面找到图片链接 .

9e264194-4e26-4c43-a127-948b38a71965.jpg

还请在MATLAB中找到我的代码片段 . 我收到一个错误,因为我观察到“fun”不能与MATLAB intlinprog函数一起使用 .

for i = 1: length(bt)

f(i,1) = bt(i) + nch*w;

f(i,2) = (w/nch) - st;

f(i,3:5) = 0;

end

M = [4,5,9,10,14,15,19,20,24,25,29,30,34,35,39,40,44,45,49,50,54,55,59,60,64,65,69,70,74,75];

e = 0.00001;

A = [0 0 0 1 1;

-nch 1/nch 1 0 0];

ACell = repmat({A}, 1, 15);

A = blkdiag(ACell{:});

B = [1; 0.7];

ub = ones(5,1);

ub(1:2,1) = 2.3;

ub = repmat(ub, length(bt),1);

lb = zeros(5,1);

lb(3,1) = 0.01;

lb = repmat(lb,length(bt),1);

f = reshape( f.' ,1,numel(f))';

B = repmat(B,length(bt),1);

Opt = opti('f',f,'ineq',[],[],'eq',A,B,'bounds',lb,ub,'xtype',M)

[x,fval,exitflag,info] = solve(Opt)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值