混合整数规划

  • 官方文档
  • 语法
  • 实例1
  • 实例2

官方文档

链接

语法

x = intlinprog(f, intcon,A,b)
x = intlinprog(f , intcon,A,b,Aeq, beq)
X=intlinprog(f , intcon, A, b, Aeq, beq,1b,ub)
x = intlinprog(f, intcon,A, b,Aeq, beq, lb, ub,x0)
x = intlinprog(f, intcon, A, b,Aeq, beq,lb, ub, x0, options)
x = intlinprog(problem)
[x, fval, exitflag,output] = intlinprog(__)

f、x、intcon、lb、beq、Ib和ub是向量,A和Aeq是矩阵
min⁡xfTxsubject to {x(intcon )are integers A⋅x≤bAeq x=beqlb≤x≤ub\min _{x} f^{T} x \text { subject to }\left\{\begin{array}{l} x(\text { intcon }) \text { are integers } \\ A \cdot x \leq b \\ \text { Aeq } x=b e q \\ l b \leq x \leq u b \end{array}\right. xmin​fTx subject to ⎩⎪⎪⎨⎪⎪⎧​x( intcon ) are integers A⋅x≤b Aeq x=beqlb≤x≤ub​

x = intlinprog(f,intcon,A,b) 最小化 f'*x,使得 intcon 中的 x 分量是整数,且 A*x ≤ b。x = intlinprog(f,intcon,A,b,Aeq,beq) 求解上述问题,同时还满足等式约束 Aeq*x = beq。如果不存在不等式,请设置 A = [] 和 b = []。x = intlinprog(f,intcon,A,b,Aeq,beq,lb,ub) 定义设计变量 x 的一组下界和上界,使解始终在 lb ≤ x ≤ ub 范围内。如果不存在等式,请设置 Aeq = [] 和 beq = []。x = intlinprog(f,intcon,A,b,Aeq,beq,lb,ub,x0) 使用初始可行点 x0 进行优化。如果不存在边界,请设置 lb = [] 和 ub = []。x = intlinprog(f,intcon,A,b,Aeq,beq,lb,ub,x0,options) 使用 options 中指定的优化选项执行最小化。使用 optimoptions 可设置这些选项。如果不存在初始点,请设置 x0 = []。

f-系数向量。intcon -整数约束组成的向量,就说受到约束的整数个数。A-线性不等式约束矩阵。b-线性不等式约束向量。Aeq -线性等式约束矩阵。beq -线性等式约束向量。Ib-下界。ub-上界。x0 -初始点。

实例1

min⁡x8x1+x2subject to {x2is an integer x1+2x2≥−14−4x1−x2≤−332x1+x2≤20\min _{x} 8x_1+x_2\text { subject to }\left\{\begin{array}{l} x_2 \text { is an integer } \\ x_1+2x_2\geq-14\\ -4x_1-x_2\leq -33\\ 2x_1+x_2 \leq 20 \end{array}\right. xmin​8x1​+x2​ subject to ⎩⎪⎪⎨⎪⎪⎧​x2​ is an integer x1​+2x2​≥−14−4x1​−x2​≤−332x1​+x2​≤20​
z=8x1+x2z=8x_1+x_2z=8x1​+x2​受x1和x2x_1和x_2x1​和x2​限制。
代码构建和之前的类似

f = [8;1];%确定目标函数系数
intcon = 2;%理解为两个受x受到整数限制
A = [-1,-2;-4,-1;2,1];%构造不不等式左边系数矩阵
b = [14;-33;20];%构造不等式右边矩阵
x = intlinprog(f,intcon,A,b)

实例2

min⁡x(−3x1−2x2−x3)subject to {x3binary x1,x2≥0−x1+x2+x3≤74x1+2x2+x3=20\min _{x} \left( {-3x_1-2x_2-x_3} \right)\text { subject to }\left\{\begin{array}{l} x_3 \text { binary } \\ x_1,x_2\geq0\\ -x_1+x_2+x_3\leq7\\ 4x_1+2x_2+x_3 = 20 \end{array}\right. xmin​(−3x1​−2x2​−x3​) subject to ⎩⎪⎪⎨⎪⎪⎧​x3​ binary x1​,x2​≥0−x1​+x2​+x3​≤74x1​+2x2​+x3​=20​

%案例二
clear all
clc
% 编写目标函数向量和由整数变量组成的向量。
f = [-3;-2;-1];
intcon = 3;
% 编写线性不等式约束。
A = [1,1,1];
b = 7;
% 编写线性等式约束。
Aeq = [4,2,1];
beq = 12;
% 编写边界约束。
lb = zeros(3,1);%等效于lb=[0;0;0]
ub = [Inf;Inf;1]; %强制x(3)为一个固定1
%调用intlinprog
x = intlinprog(f,intcon,A,b,Aeq,beq,lb,ub)

返回结果:

当x2=5,x3=1,x1=0x_2=5,x_3=1,x_1=0x2​=5,x3​=1,x1​=0时,最值为−12-12−12

【Matlab】混合整数规划相关推荐

  1. matlab 整数规划工具箱,Matlab中的YALMIP工具箱 混合整数规划

    YALMIP工具箱 混合整数规划 定义变量: sqdvar()实型 intvar()整型 binvar()0-1型 设定目标函数 : f=目标函数 设定限定条件: F=set(限定条件) 多个限定条件 ...

  2. 【遗传算法不求人】MATLAB轻代码玩转GA:0-1背包问题+混合整数规划

    [遗传算法不求人]GA实时编辑优化器解决0-1背包问题+混合整数规划 课程简介 视频课程 问题描述 1.初始化,导入数据.设置变量 2.MATLAB语法表示-GA(全局优化器) 3.MATLAB语法表 ...

  3. MATLAB代码:基于混合整数规划的微网储能电池容量规划 关键词:储能配置 电池容量规划 微网 混合整数规划

    MATLAB代码:基于混合整数规划的微网储能电池容量规划 关键词:储能配置 电池容量规划 微网 混合整数规划 关键词:储能配置 电池容量规划 微网 混合整数规划 参考文档:<基于全寿命周期成本的 ...

  4. matlab cplex 混合整数规划,Leapms + cplex解决 混合整数规划问题

    Leapms + cplex解决 混合整数规划问题 O.概述 CPleX是一个神秘的求解器, 听说久了就想用, 但是直接用有些困难, 尤其入门困难. 对初学者来说Leapms是一个好的通道. 在Lea ...

  5. 混合非线性整数规划matlab,matlab学习——02整数规划(蒙特卡洛法,指派问题,混合整数规划)...

    02整数规划 蒙特卡洛法(随机取样法) 编写文件mengte.m,目标函数f和约束向量g function[f,g]=mengte(x); f=x(1)^2+x(2)^2+3*x(3)^2+4*x(4 ...

  6. python 混合整数规划_matlab求解混合整数规划的困惑

    请问谁用过CPLEX 之类的 求解混合整数规划(Mixed integer prgramming)的matlab插件 mex file 1.能给我传一个直接可用(好用)的么... 万分感谢 网上找了好 ...

  7. 整数规划matlab实例,整数规划matlab

    整数规划matlabTag内容描述: 1.例已知非线性整数规划为max z=x12+x22+3x32+4x42+2x52-8x1-2x2-3x3-x4-2x5s.t.0xi99,i=1,2,5x1+x ...

  8. 主题:基于混合整数规划方法的微网电池储能容量优化配置

    关键词:储能容量优化 储能配置 微网 编程语言:matlab 主题:基于混合整数规划方法的微网电池储能容量优化配置 主要内容: 本代码目的为实现微电网内电池容量的优化配置,目标函数为配置过程中整体的运 ...

  9. 主题:基于混合整数规划方法的微网电池储能容量优化配 关键词:储能容量优化 储能配置 微网

    关键词:储能容量优化 储能配置 微网 编程语言:matlab 主题:基于混合整数规划方法的微网电池储能容量优化配置 主要内容: 本代码目的为实现微电网内电池容量的优化配置,目标函数为配置过程中整体的运 ...

最新文章

  1. 2022-2028年中国特高压电网行业深度调研及投资前景预测报告
  2. Captaris Workflow 6.0 EventService 执行效率低下的排除。
  3. RNN代码解释pytorch
  4. FPGA在其他领域的应用(二)
  5. java做的一个将中文转换成Unicode码的工具类【转载】做个标记,明天研究下
  6. 前端开发 常见的网页导航制作 0228
  7. Linux之cat命令
  8. 模拟(堆):USACO Jan11 瓶颈
  9. kmeans算法经典案例C语言,kmeans聚类算法以及使用案例
  10. JavaScript 打印星号三角形
  11. 【DP】【Burnside】【多项式】烷基计数
  12. 关于数据可视化图表的制作,你需要关注的30个小技巧
  13. 租用国内的云主机的话,选阿里云还是盛大云?
  14. 一文揭开ALBERT的神秘面纱
  15. 彻底解决烦人的win10更新
  16. 通信原理学习笔记:通信系统
  17. STM32c8t6串口+蓝牙控制PC13亮灭
  18. Java开发基础教学,如何让自己像打王者荣耀一样发了疯
  19. 微信小程序开发——cloudfunctions | 未指定环境
  20. 【014】基于Vue.js的移动端购物商城网站(含源码、课设报告)

热门文章

  1. 计算机桌面运维工作案例,【桌面云案例专题】桌面云 R5问题处理指导书(For 一线服务/运维/管理员)...
  2. Xcode13编译提示构建系统错误Legacy Build System
  3. matlab欧拉法原理,欧拉法函数
  4. 自己制作“EleksTubeIPS创意复古RGB拟辉光管时钟”分享《一》---(持续更新2021-12-17)
  5. Hadoop那些事儿(四)---MapReduce编程实例(基础)
  6. 【Linux成长之路】CentOS7中netstat命令详解
  7. Unity协程相关_学习笔记
  8. Blender插件-破碎爆炸火焰烟雾特效 KhaosUltimate Explosion Destruction
  9. qsql 关联_QSqlDatabase和QSqlQuery的正确方法是什么?
  10. 基于javaee的酒店预订管理系统设计与实现、ssh框架+mysql数据库