Matlab 整数线性规划问题模型代码
整数线性规划问题的基本内容
整数线性规划解决的是自变量在一定的线性约束条件下,使得线性目标函数求得最大值或者最小值的问题。其中自变量只能取整数。特别地,当自变量只能取0或者1时,称之为 0-1 整数规划问题。
当目标函数为最小值时,上述问题可以写成如下形式:
\[ \min z=\mathbf{F}^{T}\mathbf{X} \]
\[ \text { s.t. } \left\{\begin{array}{l} {\mathbf{A}\mathbf{X} \leqslant \mathbf{B}} \\ {\mathbf{A}_{\mathrm{eq}} \mathbf{X}=\mathbf{B}_{\mathrm{eq}}} \\ {\mathbf{LB} \leqslant \mathbf{X} \leqslant \mathbf{UB}} \\\mathbf{X} \text{取整数} \end{array}\right. \]
其中
\(F\)线性目标函数系数向量
\(\mathbf{X}\) 为决策变量向量
\(\mathbf{A}\) 为线性不等式系数矩阵
\(\mathbf{B}\) 为线性不等式右端常数向量
\(\mathbf{A}_\mathrm{eq}\) 为线性等式系数矩阵
\(\mathbf{B}_\mathrm{eq}\) 为线性等式右端常数向量
\(\mathbf{L B}\) 为决策变量下界向量
\(\mathbf{U B}\) 为决策变量上界向量
Matlab模型代码
调用形式
[X,FVAL,EXITFLAG,OUTPUT,LAMBDA] = intlinprog(F,intcon,A,B,Aeq,Beq,LB,UB) % 统一形式
输入变量
- F为目标函数系数向量
- intcon为整数变量的地址
- A 为不等式约束系数矩阵(注意默认不等式方向为小于等于,若为大于等于,需要将其取相反数)
- B 为不等式右端常数向量(注意默认不等式方向为小于等于,若为大于等于,需要将其取相反数)
- Aeq 为等式约束系数矩阵
- Beq 为等式右端常数向量
- LB 为决策变量下界向量
- UB为决策变量上界向量
在调用时,输入参数不存在时,可以将其输入用 []
空矩阵表示。
输出变量
- X 为最优解
- FVAL 为最优目标值
- EXITFLAG 为运行结束标志,当等于1时,表示程序收敛于解 X;当等于0时,表示程序运行次数到达最大;当小于0时,说明情况较多
- OUTPUT 为程序迭代次数
- LAMBDA 为解X相关的Largrange乘子和影子价格
案例演示
目标函数与约束条件
\[\min z=-3 x_{1}-2 x_{2}-x_{3}\] \[\text { s. t. }\left\{\begin{array}{l}{x_{1}+x_{2}+x_{3} \leq 7} \\ {4 x_{1}+2 x_{2}+x_{3}=12} \\ {x_{1}, x_{2} \geqslant 0} \\ {x_{3}=0\text{ or }1}\end{array}\right.\]
Matlab程序
clc,clear
f = [-3;-2;-1];
intcon = 3; % 整数变量的地址
A = ones(1,3);
B = 7;
Aeq = [4,2,1];
Beq = 12;
LB = zeros(3,1);
UB = [inf;inf;1]; % 只有x(3)取0或者1
[x,fval]= intlinprog(f,intcon,A,B,Aeq,Beq,LB,UB)
运行结果
x =05.50001.0000fval =-12.0000
转载于:https://www.cnblogs.com/gshang/p/11495574.html
Matlab 整数线性规划问题模型代码相关推荐
- Matlab 线性规划问题模型代码
线性规划问题的基本内容 线性规划解决的是自变量在一定的线性约束条件下,使得线性目标函数求得最大值或者最小值的问题. \[ \min z=\sum_{j=1}^{n} f_{j} x_{j} \] \[ ...
- Matlab常用求解数学规划模型代码
Matlab求解线性规划问题--linprog函数: 引用博客链接侵删 [x,fval,exitflag,output,lambda] = linprog(c,A,b,Aeq,beq,LB,UB,X0 ...
- matlab 朴素贝叶斯模型 代码及其案例
简介 朴素贝叶斯分类器(Naive Bayes Classifier 或 NBC)发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率.同时,NBC模型所需估计的参数很少,对缺失数据不太敏感,算 ...
- MATLAB截面数据空间计量模型代码②
1.经纬度坐标生成基于地理邻接矩阵 2.绘制侦察图 3.利用经纬度坐标生成基于距离的空间权重矩阵 4.利用经纬度坐标生成基于门槛距离的空间权重矩阵 5.利用经纬度坐标生成K个最近邻居的空间权重矩阵 6 ...
- 整数线性规划实现(matlab分枝界定法)
文章目录 一.本次问题 1.利用第一天所学知识求解: 2.本题理解: (1)分支界定法 背景: 基本理论(解题步骤): 求解实现1: 1.第一步 2.第二步 3.第三步 4.第四步 结论:综上,最优解 ...
- yalmip + lpsolve + matlab 求解混合整数线性规划问题(MIP/MILP)
转自,原文: https://www.cnblogs.com/kane1990/p/3428129.html 最近建立了一个网络流模型,是一个混合整数线性规划问题(模型中既有连续变量,又有整型变量). ...
- 基于启发式算法与单目优化和马尔科夫模型的进出口公司的货物装运策略——整数线性规划 随机模拟
目录 进出口公司的货物装运策略 摘要 一.问题的重述 1问题的背景 2问题的提出 3目的及意义 二.符号说明 三.模型假设 四.建模准备与问题分析 4.1 线性整数规划 4.2 三维空间分割启发式算法 ...
- 如何用matlab编写混合整数规划,MATLAB中的混合整数线性规划
我试图用MATLAB解决这个混合整数线性规划问题 . 但是,我在matlab中对线性目标函数和决策变量求和的定义存在问题 . 我在MATLAB中使用intlinprog函数 . 请在下面找到图片链接 ...
- Matlab 非线性规划问题模型代码
非线性规划问题的基本内容 非线性规划解决的是自变量在一定的非线性约束或线性约束组合条件下,使得非线性目标函数求得最大值或者最小值的问题. 当目标函数为最小值时,上述问题可以写成如下形式: \[ \mi ...
最新文章
- 模拟器不全屏_iOS 14实测GBA游戏模拟器下载
- html 复选框 mysql_Html:实现带复选框的下拉框(一)
- python中类的嵌套_python类的嵌套
- 使用DBUnit框架数据库插入特殊字符失败的查错经历
- 旧金山站线上峰会24h倒数
- 用NPOI从DataBase到Excel '2
- Linux环境下设置IPDNSGateway
- 武大计算机几天出录取结果,录取大概要几天 多久录取结果出来
- 华为云Volcano:让企业AI算力像火山一样爆发
- kali 创建php可执行文件_利用树莓派在kali环境下搭建Web环境(Apache+Php7.3+Mysql)...
- MySQL中事务的分类
- caffe android lib
- 安川机器人仿真软件安装
- Qt中添加鼠标右键菜单
- Rust编程语言入门教程(二)-核心概念(所有权(Ownership) 和生命周期)、变量声明(遍历数组)
- 尹伊:我的学习成长路径
- intel DQ77KB 主板使用说明书
- 计算机二级word真题书娟,计算机二级word试题.docx
- BDP个人版产品体验报告:在线数据分析使用心得
- python绘制梅花_Python | 巧用生成表达式、让循环显得高大上 !
热门文章
- python【力扣LeetCode算法题库】面试题 01.07- 旋转矩阵
- 全卷积神经网路【U-net项目实战】U-net网络结构为什么在医学影像分割上表现不错
- css 定位兼容性,CSS基础:定位与浏览器兼容性
- 几何画板200个经典课件_几何画板Sketchpad Mac(数学教学软件)中文版
- bigdecimal不等于0怎么写_创业计划书不知道怎么写?掌握核心逻辑是关键
- 最新EOS合约教程,从系统到环境,从创建到部署,从前端到后台,Dapp开发
- 浅析在网站优化工作中是如何优化网站流量的?
- 浅析企业网站软文效果是如何展现的?
- java链式编程_Java 链式编程 和 lombok 实现链式编程
- HTTP相关知识 - 1