GRBModel::feasRelax()
修改GRB模型
对象创建可行性松动注意你需要调用优化取结果计算实际松散解法
可行性松绑模型解决后,最小化解决方案违反原型框框和线性约束量方法提供数种选项说明松散
if you descriptfleobj类型=0
目标为最小化约束和约束违抗权加权值之和上头lbpen系统
,Ubpen
并rhspen系统
参数分别具体说明下界、上界和线性约束中单位违反的成本
if you descript松散j类型=1
,可行性松绑的目的是尽量减少约束和约束违规方块加权和上头lbpen系统
,Ubpen
并rhspen系统
参数分别指定下界、上界和线性约束违反方位系数
if you descriptfleobj类型=2
,可行性松动的目标是尽量减少约束和约束违例加权计数上头lbpen系统
,Ubpen
并rhspen系统
参数分别具体说明违反下界、上界和线性约束的代价
举个例子,如果约束使用rhspen系统
传值公元前
受2.0违反,2*p
可行性松动目标fleobj类型=0
......2*2*p
For松散j类型=1
并会出力公元前
Forfleobj类型=2
.
上头minrelax
参数布林控制所创建的可行性松绑类型ifminrelaxe虚构
优化返回模型提供求解最小化违章成本ifminrelaxe真
优化返回模型发现求解最小化原目标,但从那些求解最小化违反成本注意易松
必须解决优化问题以找到最小可能松动minrelaxe真
可相当贵
方法有2个签名复杂度越高需要变量和约束列表, 以及松绑相关下界、上界和约束相关惩罚如果变量或约束不列入其中之一,则相关界限或约束不可违反简单签名需要双布尔参数松散式
并松散度
表示变量界限和/或约束是否可以违反if松散式
/松散度
华府市真实性
,则所有约束/约束都允许分别违反,相关成本为1.0
注意这是一个破坏性方法:它修改它所引用模型不想修改原创模型时使用GRB模型构造器使用此方法前创建副本
双倍 | 易松高山市 | 整数 | 松散bj类型 |
布卢尔 | minrelax | ||
整数 | 华伦市 | ||
康斯特GRBVAR* | 公元前 | ||
康斯特双重* | lbpen系统 | ||
康斯特双重* | Obpen公司 | ||
整数 | 康伦市 | ||
康斯特GRB康斯特 | 康斯特斯 | ||
康斯特双重* | rhspen) |
创建可行性松动模型
参数 :
松散bj类型:成本函数查找最小成本松动
minrelax可行性松绑
华伦市:变量列表长度允许违反界值
参赛者:允许违反界值变量
lbpen系统:违反变量下限的惩罚参数中变量各列一参赛者.
Ubpen:违反变量上界惩罚参数中变量各列一参赛者.
康宁市:线性约束表长度允许违反
康斯特斯线性约束允许违反
rhspen系统:对违反线性约束的惩罚单项参数约束康斯特斯.
返回值:
零ifminrelax虚伪ifminrelax属实,返回值即目标值实现松散值小于0时表示方法未能产生可行性松动
双倍 | 易松高山市 | 整数 | 松散bj类型 |
布卢尔 | minrelax | ||
布卢尔 | 松散式 | ||
布卢尔 | 松散) |
简单方法创建可行性松动模型
参数 :
松散bj类型:成本函数查找最小成本松动
minrelax可行性松绑
松散式:表示变量界限是否可以松绑(费用为1.0)
松散度表示线性约束是否可以松动(费用为1.0)
返回值:
零ifminrelax虚伪ifminrelax属实,返回值即目标值实现松散值小于0时表示方法未能产生可行性松动