整数规划、混合整数规划基础知识

这篇具有很好参考价值的文章主要介绍了整数规划、混合整数规划基础知识。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

优化

优化三大要素:决策变量、约束条件、和目标函数
根据3个要素的不同,优化问题划分为多种不同的类型,其中就包含线性规划LP和混合整数规划MIP。

线性规划

线性规划LP基础:https://www.gurobi.com/resource/linear-programming-basics/

线性规划(Linear programming,简称LP):研究线性约束条件下线性目标函数的极值问题的数学理论和方法

  1. 线性:数学里,一般说的线性,是说的线性映射,满足
    ①可加性:f(x+y)=f(x)+f(y)
    ②齐次性:f(ax)=af(x)
  2. 线性关系:两个变量之间存在一次函数关系
  3. 约束优化问题:给定约束条件和目标函数,计算约束条件下目标函数的最大(最小)值。
  4. 目标函数和约束条件都是线性函数的情况,称为线性优化问题,即目标函数是线性的,所有约束也是线性的。

经典LP问题:资源分配生产问题、

整数规划

1,整数规划(Integer Programming,简称IP):规划问题中一部分变量或者全部变量为整数变量的话,该数学规划问题就属于整数规划问,即自变量存在整数。
2,整数规划的可行域是离散的
3,整数规划问题被看作数学规划里、乃至世界上最难的问题之一,通常退而求其次求解近似解或局部最优解。
4,常见整数规划问题:背包问题、广义指派问题、集合覆盖问题
5,分类(按决策变量分):
①全部决策变量限制为整数的规划问题,称为纯整数规划
②部分决策变量限制为整数的规划问题,称为混合整数规划,即自变量既包含整数也有连续变量,混合整数规划(mixed integer programming,简称MIP)基础:https://www.gurobi.com/resource/mip-basics/
③决策变量只取0或1的规划问题,称为0-1整数规划

求解
1,求解难度大:虽然连续优化问题的可行解有无数多个,但是通过微积分,这一成熟且强大的工具,往往可以建立出针对连续优化(即可微)问题的最优性条件。整数规划问题中,整数不连续从而不可微分,导致无法使用微积分的工具,难以得到最优性条件,同时由于离散,无法满足凸性。
2,普遍方法:
① 整数规划方法:分支定界法、割平面法、蒙特卡罗法、列生成法,拉格朗日松弛法等
② 0-1整数规划:隐枚举法、(指派问题:匈牙利法)

3,精确算法:分支定界法(Branch and Bound Algorithm, B&B)、枚举法
分支(Branching) 算法是整数规划求解器的核心框架
整数规划精确算法核心的便是分支定界法,以及增加分支定界效率的各种技巧,例如割平面方法(Cutting Planes Method)。

①问题的规模往往非常小;②最后获得的解,必定是最优解

4,近似算法(Approximate Algorithm):
根据特定问题使用一些技巧(贪婪策略,限制,划分,断切,松弛)
比较考验技术,需要给出算法的近似比,复杂度分析,具有很强的推理能力。同样,这类算法的求解规模还是比较受限制的,其最后获得的解不是最优解。

5.启发式算法(Heuristic Algorithm):算法设计者根据经验或者观察到的性质设计出来的。TSP问题:LKH算法。
启发式算法大致可以分为四类:取整(Rounding)、下潜(Diving)、子问题(Sub-MIP)和上述三类之外的其他算法。

6,神经网络(Neural Networks):Google的DeepMind团队2021年官宣了一篇神经网络(Neural Networks)求解MIP论文,文章链接https://arxiv.org/abs/2012.13349及国内评读评DeepMind近期神经网络求解MIP的论文:https://zhuanlan.zhihu.com/p/400603949

作者:王源
链接:https://zhuanlan.zhihu.com/p/406262088
来源:知乎文章来源地址https://www.toymoban.com/news/detail-423946.html

到了这里,关于整数规划、混合整数规划基础知识的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 混合整数线性规划 (MILP) 算法

    混合整数线性规划定义 混合整数线性规划 (MILP) 问题 具有以下要素: 线性目标函数 fTx ,其中 f 是由常数组成的列向量,x 是由未知数组成的列向量 边界和线性约束,但没有非线性约束(有关定义,请参阅编写约束) 对 x 的某些分量的限制,使其必须具有整数值        

    2024年04月25日
    浏览(30)
  • 使用COPT求解混合整数线性规划

    使用 from copt import * 引入模型 import coptpy as cp env = Envr() 创建优化模型,返回一个Model对象 mdl=env.ccreateModel(\\\"name\\\") 添加一个决策变量: mdl.addVar(lb=0.0, ub=COPT.INFINITY, obj=0.0, vtype=COPT.CONTINUOUS, name=\\\"\\\", column=None) Lb : 变量的下界。可选参量,默认为0.0。 Ub : 变量的上界。可选参量

    2024年02月06日
    浏览(52)
  • SEO优化基础知识大全 SEO新手入门必备知识

    网上关于SEO优化的知识很多也很杂,很多新手都不知道如何选择。本来耗子网站里每篇文章都有的详细步骤的,考虑到很杂,于是耗子对各种SEO优化基础知识进行了整理,但不是很详细,所以在每个步骤的后面都加上了相关文章链接,希望能帮助SEO新手更多的了解一下SEO基础

    2024年02月10日
    浏览(82)
  • 【数学建模】混合整数规划MIP(Python+Gurobi代码实现)

    目录 1 概述 2 入门算例 2.1 算例 2.2 求解 ——Pulp库和cvxpy 3 进阶算例 3.1 算例 3.2 Python+Gurobi代码实现 3.3 运行结果 混合整数规划 (MIP) 是 NP-hard 问题中的一类,它的目标是在线性约束下将线性目标最小化,同时使部分或全部变量均为整数值,在容量规划、资源分配与装箱等等现

    2024年02月07日
    浏览(58)
  • 混合整数线性规划——选址问题(决策变量0-1问题)MATLAB

    问题: 某快餐连锁经营公司有7个地点(A1,A2,…,A7)可以设立快餐 店,由于地理位置因素,设立快餐店时必须满足以下要求: A1,A2,A3三个地点最多 可选两个,A4和A5至少选取一个,A6和A7至少选取一个 。已知各个地点设立快餐店 的投入和预计收益如表所示。   已知目前

    2024年02月13日
    浏览(40)
  • 【ASP.NET Core 基础知识】--部署和维护--性能优化技巧

    一、应用程序设计和架构优化 1.1 选择适当的设计模式 应用程序设计和架构优化是提高 ASP.NET Core 应用程序性能的重要方面之一。适当的设计模式是优化架构的关键之一。设计模式是解决特定问题的经验总结,能够提高代码的可读性、可维护性和可扩展性,从而间接地提高了

    2024年02月20日
    浏览(58)
  • webpack基础知识八:说说如何借助webpack来优化前端性能?

    一、背景 随着前端的项目逐渐扩大,必然会带来的一个问题就是性能 尤其在大型复杂的项目中,前端业务可能因为一个小小的数据依赖,导致整个页面卡顿甚至奔溃 一般项目在完成后,会通过webpack进行打包,利用webpack对前端项目性能优化是一个十分重要的环节 二、如何优

    2024年02月14日
    浏览(40)
  • 分布式鲁棒优化基础知识学习 | Ref:《鲁棒优化入门》「运筹OR帷幄」

    鲁棒:考虑最坏情况; 分布:最坏情况的主体是环境参数的分布变量。 从数学角度说,分布式鲁棒优化囊括随机规划和传统鲁棒优化两种形式。 当分布式鲁棒优化下,环境变量的分布函数获知时,分布鲁棒优化退化为随机优化;仅知其不确定集时,退化为经典鲁棒优化。

    2024年02月08日
    浏览(48)
  • 【数据结构】—— 队列基础知识以及数组模拟队列的分析、演示及优化

    ❤️一名热爱Java的大一学生,希望与各位大佬共同学习进步❤️ 🧑个人主页:@周小末天天开心 各位大佬的点赞👍 收藏⭐ 关注✅,是本人学习的最大动力 感谢! 📕该篇文章收录专栏—数据结构 目录 什么是队列? 数组模拟队列 分析 存入队列的步骤 使用数组模拟队列—

    2024年01月19日
    浏览(60)
  • 【前端知识】React 基础巩固(二十三)——React 性能优化 SCU相关

    React 的渲染流程 JSX - 虚拟 DOM - 真实 DOM React 的更新流程 props/state 改变 - render函数重新执行 - 产生新的DOM树 - 新旧DOM树进行diff - 计算出差异进行更新 - 更新到真实的DOM React 在 props 或 state 发生改变时,会调用 React 的 render 方法,会创建一颗不同的树 React 需要基于这两颗不同的

    2024年02月15日
    浏览(73)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包