matlab Cplex使用

Posted Trux

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);
 
 
 
 
 
 
 
 
 
 

以上是关于matlab Cplex使用的主要内容,如果未能解决你的问题,请参考以下文章

cplex12.8适用matlab啥版本

电力系统基于matlab YALMIP+CPLEX求解带储能的微电网优化调度问题含Matlab源码 2175期

电力系统基于matlab YALMIP+CPLEX求解带储能的微电网优化调度问题含Matlab源码 2175期

综合能源系统 cplex matlab实现_能源系统|计及燃料电池热电联供的区域综合能源系统经济运行...

解决由于非线程安全 API 函数而并行发生的分段错误

MATLAB代码:电-气-热综合能源系统耦合优化调度 关键词:综合能源系统 优化调度 电气热耦合 主要内容:代码主要做的是一个考虑电网热网以及气网耦合调度的综合能源系统优化调度模型