数学建模整数规划学习笔记

与线性规划的本质区别在于决策变量是否取整。

(1)分支定界法

若不考虑整数限制先求出相应松弛问题的最优解:

若松弛问题(线性规划)无解,则ILP(整数规划)无解。

若求得的松弛问题最优解符合整数要求,则是ILP的最优解;

若不满足整数条件,则任选一个不满足整数条件的变量Xi来构造新的约束添加到松弛问题中形成两个子问题:增加两个约束条件:决策变量 <= 决策变量向下取整,决策变量大于 >= 决策变量向下取整 + 1.

intprog函数:

在linprog函数基础上改造,增加了一个误差e,I为整数约束 :

复制代码
[x,favl,status] = intprog(f,A,b,I,Aeq,beq,lb,ub,e)

status:判断是否有解:

大于0表示有解,小于0表示无解

Display选项的可能值:

  • 'off': 不显示任何输出信息。
  • 'none': 不显示任何输出信息(与'off'相同)。
  • 'final': 仅在求解完成后显示最终结果的信息。
  • 'iter': 在每次迭代时显示详细的输出信息,包括迭代次数、当前解、当前目标函数值等。

linprog函数:

复制代码
[x, fval, exitflag, output] = linprog(f, A, b, Aeq, beq, lb, ub, x0, options)

参数解释如下:

  1. f:目标函数的系数向量。
  2. A:不等式约束矩阵(左侧)。
  3. b:不等式约束向量(右侧)。
  4. Aeq:等式约束矩阵(左侧)。
  5. beq:等式约束向量(右侧)。
  6. lb:变量下界。
  7. ub:变量上界。
  8. x0:初始点(起始值)。
  9. options:优化选项结构体,由 optimoptions 函数创建。
相关推荐
Cloud_Shy6183 分钟前
解读《Effective Python 3rd Edition》:从练气到老魔(第七章 Item 51)
开发语言·人工智能·笔记·python·学习方法
承渊政道4 分钟前
【MySQL数据库学习】(MySQL复合查询)
数据库·学习·mysql·bash·database·数据库开发·数据库架构
云和数据.ChenGuang5 分钟前
metrics的解释 人工智能
人工智能·深度学习·学习·机器学习·概率论
fanged8 分钟前
Linux_Driver_Tutorial(1)(TODO)
学习
星恒随风12 分钟前
C++ string 入门(一)
开发语言·c++·笔记·学习
hnult14 分钟前
2026在线笔试平台选型指南:考试云九重防作弊与六大AI能力解析
人工智能·笔记·microsoft·课程设计
zdr尽职尽责16 分钟前
Unity录像功能
学习·ui·unity·游戏引擎
cuso4win31 分钟前
Agent 项目里的 Eval 到底是什么?怎么分类?不同项目应该怎么评测?
笔记·python·agent·eval
lazy H31 分钟前
IDEA 如何配置 JDK?项目 SDK 报错解决方法
java·ide·后端·学习·intellij-idea
格兰芬多呼神护卫31 分钟前
轮臂机器人-运动控制软件架构方案学习笔记
笔记·学习·机器人