分段线性函数三种MIP模型
2003-MS-Croxton-A Comparison of Mixed-Integer Programming Models for nonconvex piecewise linear cost minimization problems
Definition
g(x):={fs+csx,bs−1≤x≤bs,∀s∈{1,2,…,S}g(x):=\bigg\{f^s+c^sx,\quad b^{s-1}\le x\le b^{s},\quad \forall s\in \{1,2,\dots,S\} g(x):={fs+csx,bs−1≤x≤bs,∀s∈{1,2,…,S}
- csc^scs the slope
- fsf^sfs the cost-intercept
- bs−1,bsb^{s-1}, b^sbs−1,bs the breakpoints (upper and lower bounds). b0=0b^0=0b0=0
Three Models for Piecewise Linear Costs
Incremental Model
Define f^s=gs(bs−1)−gs−1(bs−1)=(fs+csbs−1)−(fs−1+cs−1bs−1)\hat{f}^s=g^s(b^{s-1})-g^{s-1}(b^{s-1})=(f^s+c^sb^{s-1})-(f^{s-1}+c^{s-1}b^{s-1})f^s=gs(bs−1)−gs−1(bs−1)=(fs+csbs−1)−(fs−1+cs−1bs−1) as the gap in the cost at the breakpoint between segment s−1s-1s−1 and segment sss.
g(x)=∑s(cszs+f^sys)x=∑szs(bs−bs−1)ys+1≤zs≤(bs−bs−1)ysyS+1=0ys∈{0,1}g(x)=\sum_s(c^sz^s+\hat{f}^sy^s)\\ x=\sum_sz^s\\ (b^s-b^{s-1})y^{s+1}\le z^s\le (b^s-b^{s-1})y^s\\ y^{S+1}=0\\ y^s\in \{0, 1\} g(x)=s∑(cszs+f^sys)x=s∑zs(bs−bs−1)ys+1≤zs≤(bs−bs−1)ysyS+1=0ys∈{0,1}
Multiple Choice Model
At most one ysy^sys will equal one.
g(x)=∑s(cszs+fsys)x=∑szsbs−1ys≤zs≤bsys∑sys≤1ys∈{0,1}g(x)=\sum_s(c^sz^s+f^sy^s)\\ x=\sum_sz^s\\ b^{s-1}y^s\le z^s\le b^sy^s\\ \sum_sy^s\le 1\\ y^s\in \{0,1\} g(x)=s∑(cszs+fsys)x=s∑zsbs−1ys≤zs≤bsyss∑ys≤1ys∈{0,1}
Convex Combination Model
Define multipliers, μs\mu^sμs and λs\lambda^sλs, as the weights on the two endpoints.
g(x)=∑s(μs(csbs−1+fs)+λs(csbs+fs))x=∑s(μsbs−1+λsbs)μs+λs=ys∑sys≤1μs,λs≥0,ys∈{0,1}g(x)=\sum_s\left(\mu^s(c^sb^{s-1}+f^s)+\lambda^s(c^sb^s+f^s)\right)\\ x=\sum_s(\mu^sb^{s-1}+\lambda^sb^s)\\ \mu^s+\lambda^s=y^s\\ \sum_sy^s\le 1\\ \mu^s,\lambda^s\ge 0, y^s\in\{0,1\} g(x)=s∑(μs(csbs−1+fs)+λs(csbs+fs))x=s∑(μsbs−1+λsbs)μs+λs=yss∑ys≤1μs,λs≥0,ys∈{0,1}
分段线性函数三种MIP模型相关推荐
- 未能找到路径的一部分_车辆路径规划三种MIP模型
车辆路径规划问题的三个MIP模型.从直观的模型推导出高效的模型. 我们用最最标准的Capacitated VRP为例: CVRP问题描述:给定一张完全有向图: , 其中 是客户的集合, 分别是起点和终 ...
- 深入理解C语言-二级指针三种内存模型
二级指针相对于一级指针,显得更难,难在于指针和数组的混合,定义不同类型的二级指针,在使用的时候有着很大的区别 第一种内存模型char *arr[] 若有如下定义 char *arr[] = {&quo ...
- reactor线程模型_简单了解Java Netty Reactor三种线程模型
1. Reactor三种线程模型 1.1. 单线程模型 Reactor单线程模型,指的是所有的IO操作都在同一个NIO线程上面完成,NIO线程的职责如下: 1)作为NIO服务端,接收客户端的TCP连接 ...
- Reactor三种线程模型与Netty线程模型
一.Reactor三种线程模型 1.1.单线程模型 单个线程以非阻塞IO或事件IO处理所有IO事件,包括连接.读.写.异常.关闭等等.单线程Reactor模型基于同步事件分离器来分发事件,这个同步事件 ...
- 浅析常用软件架构中的一定要理解的三种架构模型
2019独角兽企业重金招聘Python工程师标准>>> 常用的软件架构模型可以归类为三种架构模型:3/N层架构."框架+插件"架构.地域分布式架构. 一.三种架构 ...
- 简单说一linux内核的内存模型(平坦,不连续,稀疏等三种内存模型)
目录 Linux内核支持的三种内存模型 CONFIG_FLATMEM(平坦内存模型) 基本概念(以第一个为例,不在复述) 所以说什么是平坦模型 所以说什么是不连续模型 所以说什么是稀疏模型 总结 鸣谢 ...
- word2vec三种保存模型方式
大家好,我是爱编程的喵喵.双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中.从事机器学习以及相关的前后端开发工作.曾在阿里云.科大讯飞.CCF等比赛获得多次Top名次.现 ...
- 三种Cross-lingual模型 (XLM, XLM-R, mBART)详解
本文将详述三种Cross-lingual模型,按照其在Arxiv上发表论文的时间,分别是XLM(2019/1/22).XLM-R(2019/11/5).mBART(2020/1/22),有意思的是这三 ...
- python 鱼骨图_数据分析必备的三种思考模型
原标题:数据分析必备的三种思考模型 新人学习数据分析有个误区,认为Excel很Low,SQL做久了又是表哥表姐,学习python又陷入无尽的工具包中不能自拔,迷茫到找项目学习,结果是分析又不得要领,说 ...
- 基于三种机器学习模型的岩爆类型预测及Python实现
写在前面 由于代码较多,本文仅展示部分关键代码,需要代码文件和数据可以留言 然而,由于当时注释不及时,且时间久远,有些细节笔者也记不清了,代码仅供参考 0 引言 岩爆是深部岩土工程施工过程中常见的一种 ...
最新文章
- python——元素列表基础
- 2020最新点云深度学习综述
- showimg.php,layer弹出图片
- 5.QML动画——分组动画
- 一些变态的PHP一句话后门收集
- java-jdk各版本特性概述
- C/C++面试题—链表中倒数第k个结点
- tushare pro接口_Python与交易策略分析amp;tushare/baostock库介绍(附代码)
- java quartz 教程_Quartz视频教程
- 算法21----重塑矩阵 LeetCode566
- python 地震数据可视化
- 光漫反射和散射的区别
- Python用win32模块让窗体闪烁!附源码
- 在苹果Mac怎样查看或取消订阅服务?
- 计算机网络实训报告局域网,计算机网络局域网实验报告.doc
- Spring MVC框架在进行表单提交,自动封装成对象提交,在以对象的形式入参
- 正本清源:为什么区块链是一次新的信息化革命
- 全球筛选器行业收入预计2028年达到9.145亿美元
- 专访机器学习祖师爷 Tom Mitchell:带着理性拥抱机器学习的热潮
- SQL注入——基于时间的盲注(sqli-labs less9)