matlab cplex使用

安装cplex
示例
% value:5 constraint:2
% max z=2x1+x2+4x3+3x4+x5
% 2x2+x3+4x4+2x5<=54
% 3x1+4x2+5x3-x4-x5<=62
% x1,x2<=0,x3<=3.32,x4<=0.678,x5<=2.57

f=-[2 1 4 3 1]';%目标函数系数 (每条边对应的距离)
A=[0 2 1 4 2;3 4 5 -1 -1];%变量系数
B=[54;62];%约束右侧系数
xm=[0,0,3.32,0.678,2.57]';%变量约束
P=intvar(5,1);%创建m*n的连续型决策变量矩阵
g=f'*P;
set=[];
set=[set;A*P<=B;xm<=P];
options=sdpsettings('solver','cplex');
optimize(set,g);
P=double(P)% 查看各变量取值
double(g)% 查看目标函数

%% another
% max z=4x1+6x2+2x3
% -x1+3x2<=8
% -x2+3x3<=10
% 5x1-x3<=8
% x1,x2,x3>=0且为整数

% 目标函数 决策变量,整数型:intvar 连续型:sdpvar 二值型:binvar
x=intvar(1,3);
f=[4 6 2]*x';
% 约束x1,x2,x3
F=set(x>0)+set([-1 3 0]*x'<=8)+set([0 -1 3]*x'<=10)+set([5 0 -1]*x'<=8);
%在约束F下求目标函数f最大值
solvesdp(F,-f);
% 查看目标函数
double(f)
% 查看各变量取值
double(x)


x=intvar(1,5);
f=[1 1 3 4 2]*(x'.^2)-[8 2 3 1 2]*x';F=set(0<=x<=99);
F=F+set([1 1 1 1 1]*x'<=400)+set([1 2 2 1 6]*x'<=800)+set(2*x(1)+x(2)+6*x(3)<=800);
F=F+set(x(3)+x(4)+5*x(5)<=200);solvesdp(F,-f);










  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值