博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
matlab Cplex使用
阅读量:4679 次
发布时间:2019-06-09

本文共 1002 字,大约阅读时间需要 3 分钟。

安装cplex
安装yalmip
示例
% 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);
 
 
 
 
 
 
 
 
 
 

转载于:https://www.cnblogs.com/trux/p/7701230.html

你可能感兴趣的文章
linux启动tomcat不停的触发gc,tomcat启动时就频繁gc和full gc
查看>>
linux uart串口驱动,X-017-KERNEL-串口驱动开发之uart driver框架
查看>>
linux 添加串口数量,如何在Linux中添加4个以上的串口设备?
查看>>
关于sqoop导入数据的时候添加--split-by配置项对sqoop的导入速度的影响。
查看>>
nginx配置
查看>>
2014-11-9------- 设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。...
查看>>
python 魔法方法补充(__setattr__,__getattr__,__getattribute__)
查看>>
NOIP 2010 关押罪犯
查看>>
luogu P4848 崂山白花蛇草水
查看>>
poj 2828 块状链表 OR 线段树 OR 树状数组
查看>>
ios协议
查看>>
算法小记
查看>>
poj3616 LIS变形
查看>>
常用python编码
查看>>
学习笔记:树分治
查看>>
python学习笔记(七) 类和pygame实现打飞机游戏
查看>>
Guice 4.1教程
查看>>
简历已经过时了,而这里正是你需要的
查看>>
CentOS7.5删除旧的内核
查看>>
剑指Offer_57_二叉树的下一个结点
查看>>