我是靠谱客的博主 舒服大象,最近开发中收集的这篇文章主要介绍matlab 整数规划工具箱,Matlab中的YALMIP工具箱 混合整数规划,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

YALMIP工具箱 混合整数规划

定义变量:

sqdvar()实型

intvar()整型

binvar()0-1型

设定目标函数 :

f=目标函数

设定限定条件:

F=set(限定条件)

多个限定条件用加号相连:

F=set(限定条件)+set(限定条件1)+set(限定条件2)……

求解: solvesdp(F,f)

这里解得是F条件下目标函数f的最小值,要求最大值f前面加个负号

求解之后查看数值 :

double(f) double(变量)举例如下:

已知非线性整数规划为:

Max z=x1^2+x2^2+3*x3^2+4*x4^2+2*x5^2-8*x1-2*x2-3*x3-x4-2*x5

s.t.

0<=xi<=99(i=1,2,...,5)

x1+x2+x3+x4+x5<=400

x1+2*x2+2*x3+x4+6*x5<=800

2*x1+x2+6*x3<=800

x3+x4+5*x5<=200

在matlab中输入 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)

double(f)    80199

double(x)    53    99    99    99     0

intvar(m,n):生成整数型变量;

sdpvar(m,n):生产变量;

solvesdp(F,f):求解最优解(最小值),其中F为约束条件(用set连接),f为目标函数

double:显示求解的答案

intvar,sdpvar,生成的变量可以像矩阵一样使用,如例题显示。

最后

以上就是舒服大象为你收集整理的matlab 整数规划工具箱,Matlab中的YALMIP工具箱 混合整数规划的全部内容,希望文章能够帮你解决matlab 整数规划工具箱,Matlab中的YALMIP工具箱 混合整数规划所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部