【运筹优化】优化模型线性化方法总结

运筹优化博士,只做原创博文。更多关于运筹学,优化理论,数据科学领域的内容,欢迎关注我的知乎账号:https://www.zhihu.com/people/wen-yu-zhi-37

0 简介

模型线性化的技巧在优化问题建模和求解中扮演这非常重要的地位,而关于这方面技巧的介绍往往分散在教科书的各个部分,在我们真正面对实际问题的时候往往不知道从何处开始下手或者该从哪里查阅资料。我这里总结了一些常用的优化模型线性化的方法,除了方便在使用的时候查阅以外,尽量在介绍的过程中告诉大家来龙去脉。授人以鱼不如授人以渔,掌握这些基本的思想对我们的建模水平会起到很大的帮助。

1 Max/Min

原始约束: z = max ⁡ ( x , y ) z=\max \left( x,y \right) z=max(x,y)
线性化后转化为:
x ≤ z ,          ( 1.1 ) y ≤ z ,          ( 1.2 ) z ≤ y + ( 1 − u ) M ,          ( 1.3 ) z ≤ x + u M ,          ( 1.4 ) u ∈ { 0 , 1 } ,          ( 1.5 ) x\le z, \;\;\;\;(1.1)\\ y\le z, \;\;\;\;(1.2)\\ z\le y+\left( 1-u \right) M, \;\;\;\;(1.3)\\ z\le x+uM, \;\;\;\;(1.4) \\ u\in\{0,1\}, \;\;\;\; (1.5) xz,(1.1)yz,(1.2)zy+(1u)M,(1.3)zx+uM,(1.4)u{0,1},(1.5)
约束(1.1)(1.2)是自然成立的。当 u = 1 u=1 u=1 时约束(1.3)变为 z ≤ y z\leq y zy ,而约束(1.4)由于大M的存在变得不起作用。当 u = 0 u=0 u=0 是约束(1.4)变为 z ≤ x z\leq x zx ,而约束(1.3)由于大M的存在变得不起作用了。

原始约束: y = max ⁡ ( x 1 , x 2 , x 3 ) y=\max \left( x_1,x_2,x_3 \right) y=max(x1,x2,x3)
线性化后转化为:
x 1 ≤ y ,          ( 1.1 ) x 2 ≤ y ,          ( 1.2 ) x 3 ≤ y ,          ( 1.3 ) y ≤ x 1 + ( 1 − u 1 ) M ,          ( 1.4 ) y ≤ x 2 + ( 1 − u 2 ) M ,          ( 1.5 ) y ≤ x 3 + ( 1 − u 3 ) M ,          ( 1.6 ) u 1 + u 2 + u 3 ≥ 1          ( 1.7 ) u 1 , u 2 , u 3 ∈ { 0 , 1 } ,          ( 1.8 ) x_1\le y, \;\;\;\;(1.1)\\ x_2\le y, \;\;\;\;(1.2)\\ x_3\le y, \;\;\;\;(1.3)\\ y\le x_1+\left( 1-u_1 \right) M, \;\;\;\;(1.4)\\ y\le x_2+\left( 1-u_2 \right) M, \;\;\;\;(1.5) \\ y\le x_3+\left( 1-u_3 \right) M, \;\;\;\;(1.6) \\ u_1+u_2+u_3\geq 1\;\;\;\;(1.7) \\ u_1,u_2,u_3\in\{0,1\}, \;\;\;\;(1.8) x1y,(1.1)x2y,(1.2)x3y,(1.3)yx1+(1u1)M,(1.4)yx2+(1u2)M,(1.5)yx3+(1u3)M,(1.6)u1+u2+u31(1.7)u1,u2,u3{0,1},(1.8)
结合约束(1.4)-(1.6)可以看出约束(1.7)的意义是:
y ≤ x 1 , y ≤ x 2 , y ≤ x 3 y\leq x_1,y\leq x_2,y\leq x_3 yx1,yx2,yx3 至少有一个是成立的。

总结分析:通过上面的方法确实可以将模型线性化,但是同时也会带来一些负面作用。所以同学们在做线性化的时候一定要综合考虑优缺点,主要的负面作用有:

1 导致决策变量数量增加:从上面两个例子中我们不难观察出要线性化一个含有N个元素的Max/Min约束,我们需要引入N个新决策变量。对应上面的例子就是我们要引入 u i u_i ui

2 导致约束数量增加:同理约束数量也增加了不少,线性化一个含有N个元素的Max/Min约束,我们需要至少添加2N个约束。

3 引入了大M约束:大M约束确实给我们在建模上提供了相当多的遍历,但是在实际求解的过程中大M约束会对求解产生很多的影响,过大的大M值会导致求解过程中出现数值病态的问题,而过小的大M值又不能严格保证约束的成立。

2 绝对值

原始约束: ∣ x ∣ \left| x \right| x
稍微思考一下就知道绝对值本质上可以看做是 Max 的特殊情况,即 ∣ x ∣ = m a x ( x , − x ) \left| x \right|=max\left( x,-x \right) x=max(x,x) 那么我们可以直接套用上一节中处理Max约束的方法来等价处理绝对值,将式(1.1)-(1.5)中的 y y y 替换为 − x -x x 即可。

方法1 线性化后转化为:
x ≤ z ,          ( 2.1 ) − x ≤ z ,          ( 2.2 ) z ≤ x + ( 1 − u ) M ,          ( 2.3 ) z ≤ − x + u M ,          ( 2.4 ) u ∈ { 0 , 1 } ,          ( 2.5 ) x\le z, \;\;\;\;(2.1)\\ -x\le z, \;\;\;\;(2.2)\\ z\le x+\left( 1-u \right) M, \;\;\;\;(2.3)\\ z\le -x+uM, \;\;\;\;(2.4) \\ u\in\{0,1\}, \;\;\;\;(2.5) xz,(2.1)xz,(2.2)zx+(1u)M,(2.3)zx+uM,(2.4)u{0,1},(2.5)
上面方法1(2.1)-(2.5)是针对一般问题而言的,同样也引入了大M约束(2.3)和(2.4),对于一些稍微特殊的情况我们可以去掉约束(2.3)和(2.4),我们将在方法2中进行介绍。

方法2 考虑如下含绝对值的优化问题:
min ⁡ x ∑ i = 1 n c i ∣ x i ∣          ( 2.6 ) s . t .        A x ≤ b          ( 2.7 ) \underset{x}{\min}\sum_{i=1}^n{c_i\left| x_i \right| } \;\;\;\;(2.6)\\ s.t.\ \;\;Ax\le b \;\;\;\;(2.7) xmini=1ncixi(2.6)s.t. Axb(2.7)
其中 c i ≥ 0 ,   ∀ i = 1 , 2 , . . . , n , c_i\ge 0,\ \forall i=1,2,...,n , ci0, i=1,2,...,n

线性化转化为如下优化问题:
min ⁡ z ∑ i = 1 n c i z i          ( 2.8 ) s . t .        A x ≤ b          ( 2.9 ) x i ≤ z i ,          i = 1 , 2... , n          ( 2.10 ) − x i ≤ z i ,          i = 1 , 2... , n          ( 2.11 ) \underset{z}{\min}\sum_{i=1}^n{c_i z_i } \;\;\;\; (2.8)\\ s.t.\ \;\;Ax\le b \;\;\;\; (2.9)\\ x_i\leq z_i, \;\;\;\;i=1,2...,n\;\;\;\; (2.10)\\ -x_i\leq z_i, \;\;\;\;i=1,2...,n\;\;\;\; (2.11) zmini=1ncizi(2.8)s.t. Axb(2.9)xizi,i=1,2...,n(2.10)xizi,i=1,2...,n(2.11)
这样我们就可以将约束(2.3)(2.4)那样很丑的大M约束去掉了。切记之所以上面这种转化是等价的原因在于系数 c i c_i ci 是非负的才成立(如何证明这一点留作思考题 各位同学可以想一下)。如果系数 c i c_i ci 存在负数项的话,那还是需要老老实实按照方法1去转化。

方法3 依然是考虑优化问题(2.6)-(2.7),令 x i = u i − v i , ∣ x i ∣ = u i + v i x_i=u_i-v_i , \left| x_i \right|=u_i+v_i xi=uivi,xi=ui+vi 由此可得: u i = ∣ x i ∣ + x i 2 , v i = ∣ x i ∣ − x i 2 u_i=\frac{\left| x_i \right|+x_i}{2} , v_i=\frac{\left| x_i \right|-x_i}{2} ui=2xi+xi,vi=2xixi ,将 u , v u,v u,v 带入(2.6)(2.7)有
min ⁡ x ∑ i = 1 n c i ( u i + v i )          ( 2.12 ) s . t .        A ( u i − v i ) ≤ b          ( 2.13 ) u i , v i ≥ 0 , i = 1 , 2 , . . . n          ( 2.14 ) \underset{x}{\min}\sum_{i=1}^n{c_i (u_i +v_i)} \;\;\;\;(2.12)\\ s.t.\ \;\; A(u_i-v_i)\le b \;\;\;\;(2.13)\\ u_i,v_i\geq0,i=1,2,...n\;\;\;\;(2.14) xmini=1nci(ui+vi)(2.12)s.t. A(uivi)b(2.13)ui,vi0,i=1,2,...n(2.14)
同样的方法3也需要 c i ≥ 0 ,   ∀ i = 1 , 2 , . . . , n c_i\ge 0,\ \forall i=1,2,...,n ci0, i=1,2,...,n 的条件才能成立。若系数 c i c_i ci存在负数项的话事实上我们是无法保证 u i u_i ui v i v_i vi 至少有一个为0的隐含约束条件。

3 Piecewise Linear (Minmax/Maxmin)

考虑如下优化问题:
min ⁡ x max ⁡ i = 1 , . . , m ( c i T x + d i )          ( 3.1 ) s . t .      A x ≤ b          ( 3.2 ) \underset{x}{\min}\underset{i=1,..,m}{\max}\left( c_{i}^{T}x+d_i \right)\;\;\;\; (3.1) \\ s.t. \;\;Ax\leq b\;\;\;\; (3.2) xmini=1,..,mmax(ciTx+di)(3.1)s.t.Axb(3.2)
线性化转化为如下优化问题:
min ⁡ ( x , z ) z s . t .      z ≥ c i T x + d i ,          i = 1 , . . . , m          ( 3.3 ) A x ≤ b          ( 3.4 ) \underset{(x,z)}{\min} z \\ s.t. \;\;z\geq c^T_ix+d_i, \;\;\;\; i=1,...,m \;\;\;\;(3.3) \\ Ax \leq b \;\;\;\;(3.4) (x,z)minzs.t.zciTx+di,i=1,...,m(3.3)Axb(3.4)
这一结论从上镜图可以比较直观的看到:
在这里插入图片描述
z z z 变量表示的是所有线性函数 c i T x + d i ,      i = 1 , . . . , m c^T_ix+d_i, \;\; i=1,...,m ciTx+di,i=1,...,m 构成的图的上方(或者说是上界),那么极小化 z z z 和原问题(3.1) (3.2)很容易看出是等价的。

推论:约束 max ⁡ i = 1 , . . . m c i T x + d i ≤ h 等 价 于 约 束 c i T x + d i ≤ h ,      ∀ i = 1 , . . . , m \underset{i=1,...m}{\max}c_{i}^{T} x+d_i\le h 等价于约束 c_{i}^{T}x+d_i\le h,\;\;\forall i=1,...,m i=1,...mmaxciTx+dihciTx+dih,i=1,...,m ,这一条件在实际应用中也是会被经常用到的。
Maxmin和Minmax类似我们这里就不再赘述了。

4 Maxmax/Minmin

考虑如下优化问题:
max ⁡ x max ⁡ i = 1 , . . . m c i T x + d i          ( 4.1 ) \underset{x}{\max}\underset{i=1,...m}{\max}c_{i}^{T}x+d_i \;\;\;\;(4.1) xmaxi=1,...mmaxciTx+di4.1
z = max ⁡ i = 1 , . . . m c i T x + d i z=\underset{i=1,...m}{\max}c_{i}^{T}x+d_i z=i=1,...mmaxciTx+di 带入上式中可得:
max ⁡ ( x , z ) z          s . t .      z = max ⁡ i = 1 , . . . m c i T x + d i          ( 4.2 ) \underset{(x,z)}{\max}z \;\;\;\; \\ s.t. \;\; z=\underset{i=1,...m}{\max}c_{i}^{T}x+d_i \;\;\;\;(4.2) (x,z)maxzs.t.z=i=1,...mmaxciTx+di4.2
接下来我们发现约束(4.2)在第一节 Max/Min 中我们已经介绍了线性化的方法,那么就套用前面的方法直接对约束(4.2)进行线性化即可。
max ⁡ ( x , z ) z          ( 4.3 ) s . t .      z ≥ c i T x + d i ,          i = 1 , . . . , m          ( 4.4 ) z ≤ c i T x + d i + ( 1 − u i ) M ,          i = 1 , . . . , m          ( 4.5 ) ∑ i = 1 m u i ≥ 1          ( 4.6 ) u i ∈ { 0 , 1 } ,          i = 1 , . . . , m          ( 4.7 ) \underset{(x,z)}{\max}z \;\;\;\;(4.3)\\ s.t. \;\;z \geq c_{i}^{T}x+d_i, \;\;\;\;i=1,...,m\;\;\;\;(4.4)\\ z \leq c_{i}^{T}x+d_i + (1-u_i)M, \;\;\;\;i=1,...,m \;\;\;\;(4.5)\\ \sum_{i=1}^{m}{u_i}\geq1\;\;\;\;(4.6)\\ u_i\in\{0,1\},\;\;\;\;i=1,...,m\;\;\;\;(4.7) (x,z)maxz4.3s.t.zciTx+di,i=1,...,m4.4zciTx+di+(1ui)M,i=1,...,m(4.5)i=1mui1(4.6)ui{0,1},i=1,...,m(4.7)
由于目标函数是 maxz ,同时考虑约束(4.5)我们知道约束(4.4)必然会被自动满足,因此去掉约束(4.4)也不会影响上述优化问题的最优解,因此最终可得:
max ⁡ ( x , z ) z          ( 4.8 ) s . t .      z ≤ c i T x + d i + ( 1 − u i ) M ,          i = 1 , . . . , m          ( 4.9 ) ∑ i = 1 m u i ≥ 1          ( 4.10 ) u i ∈ { 0 , 1 } ,          i = 1 , . . . , m          ( 4.11 ) \underset{(x,z)}{\max}z \;\;\;\;(4.8)\\ s.t. \;\;z \leq c_{i}^{T}x+d_i + (1-u_i)M, \;\;\;\;i=1,...,m \;\;\;\;(4.9)\\ \sum_{i=1}^{m}{u_i}\geq1\;\;\;\;(4.10)\\ u_i\in\{0,1\},\;\;\;\;i=1,...,m\;\;\;\;(4.11) (x,z)maxz4.8s.t.zciTx+di+(1ui)M,i=1,...,m(4.9)i=1mui1(4.10)ui{0,1},i=1,...,m(4.11)
Minmin的线性化方式和Maxmax基本一样,这里就不再赘述了。

5 分式目标函数

考虑如下优化问题:
min ⁡ x c T x + d e T x + f          ( 5.1 ) s . t .      A x ≤ b          ( 5.2 ) e T x + f > 0          ( 5.3 ) \underset{x}{\min}\frac{c^Tx+d}{e^Tx+f} \;\;\;\;(5.1)\\ s.t.\;\; Ax\leq b \;\;\;\;(5.2)\\ e^Tx+f>0\;\;\;\;(5.3)\\ xmineTx+fcTx+d(5.1)s.t.Axb(5.2)eTx+f>0(5.3)
y = 1 e T x + f > 0 y=\frac{1}{e^Tx+f}>0 y=eTx+f1>0 带入上面可得:
min ⁡ ( x , y ) ( c T x + d ) y          ( 5.4 ) s . t .      A x ≤ b          ( 5.5 ) ( e T x + f ) y = 1          ( 5.6 ) y > 0          ( 5.7 ) \underset{(x,y)}{\min}{(c^Tx+d)}y\;\;\;\;(5.4)\\ s.t. \;\;Ax\leq b \;\;\;\;(5.5)\\ ({e^Tx+f})y=1 \;\;\;\;(5.6)\\ y>0\;\;\;\;(5.7) (x,y)min(cTx+d)y(5.4)s.t.Axb(5.5)(eTx+f)y=1(5.6)y>0(5.7)
再令 z = x y z=xy z=xy 带入上面进一步可得:
min ⁡ ( y , z ) ( c T z + d y )          ( 5.8 ) s . t .      A z ≤ b y          ( 5.9 ) ( e T z + f y ) = 1          ( 5.10 ) y > 0 , z ≥ 0          ( 5.11 ) \underset{(y,z)}{\min}{(c^Tz+dy)}\;\;\;\;(5.8)\\ s.t. \;\;Az\leq by \;\;\;\;(5.9)\\ ({e^Tz+fy})=1 \;\;\;\;(5.10)\\ y>0,z\geq0\;\;\;\;(5.11) (y,z)min(cTz+dy)(5.8)s.t.Azby(5.9)(eTz+fy)=1(5.10)y>0,z0(5.11)
通过做两次变量的替换可以将分式目标函数线性化,(5.8)-(5.11) 中优化决策变量为 ( y , z ) \left( y,z \right) (y,z) ,不难得到与原优化问题决策变量 x x x 的关系为:
y = 1 e T x + f ,   z = x e T x + f y=\frac{1}{e^Tx+f},\ z=\frac{x}{e^Tx+f} y=eTx+f1, z=eTx+fx

6 半连续变量(带有fixed-cost)

考虑如下约束: x = 0 x=0 x=0 或者 a ≤ x ≤ b a\leq x \leq b axb

线性化转化为:
a u ≤ x ≤ b u , u ∈ { 0 , 1 } au\leq x\leq b u, u\in\{0,1\} auxbu,u{0,1}
该变量常用于带有fixed cost形式的目标函数或者约束上。

7 逻辑约束

7.1 两个约束至少有一个成立

∑ i a i x ≤ b 或 ∑ i g i x ≤ h \sum_i{a_ix}\le b 或 \sum_i{g_ix}\le h iaixbigixh 两个约束至少有一个成立

线性化转化为:
∑ i a i x ≤ b + ( 1 − y 1 ) M          ( 7.1 ) ∑ i g i x ≤ h + ( 1 − y 2 ) M          ( 7.2 ) y 1 + y 2 ≥ 1          ( 7.3 ) y 1 , y 2 ∈ { 0 , 1 }          ( 7.4 ) \sum_i{a_ix}\le b+\left( 1-y_1 \right)M \;\;\;\;(7.1)\\ \sum_i{g_ix}\le h+\left( 1-y_2 \right)M \;\;\;\;(7.2) \\ y_1+y_2\geq1 \;\;\;\;(7.3) \\ y_1,y_2\in\left\{ 0,1 \right\} \;\;\;\;(7.4) iaixb+(1y1)M(7.1)igixh+(1y2)M(7.2)y1+y21(7.3)y1,y2{0,1}(7.4)

7.2 两个约束只一个成立

∑ i a i x ≤ b 或 ∑ i g i x ≤ h \sum_i{a_ix}\le b 或 \sum_i{g_ix}\le h iaixbigixh 两个约束只一个成立

线性化转化为:
∑ i a i x ≤ b + ( 1 − y 1 ) M          ( 7.5 ) ∑ i g i x ≤ h + ( 1 − y 2 ) M          ( 7.6 ) y 1 + y 2 = 1          ( 7.7 ) y 1 , y 2 ∈ { 0 , 1 }          ( 7.8 ) \sum_i{a_ix}\le b+\left( 1-y_1 \right)M \;\;\;\;(7.5)\\ \sum_i{g_ix}\le h+\left( 1-y_2 \right)M \;\;\;\;(7.6) \\ y_1+y_2=1 \;\;\;\;(7.7) \\ y_1,y_2\in\left\{ 0,1 \right\}\;\;\;\;(7.8) iaixb+(1y1)M(7.5)igixh+(1y2)M(7.6)y1+y2=1(7.7)y1,y2{0,1}(7.8)

将约束(7.7)带入约束(7.6)中进一步得到更简洁的形式:
∑ i a i x ≤ b + ( 1 − y 1 ) M          ( 7.9 ) ∑ i g i x ≤ h + y 1 M          ( 7.10 ) y 1 ∈ { 0 , 1 }          ( 7.11 ) \sum_i{a_ix}\le b+\left( 1-y_1 \right)M \;\;\;\;(7.9)\\ \sum_i{g_ix}\le h+y_1M \;\;\;\;(7.10) \\ y_1\in\left\{ 0,1 \right\}\;\;\;\;(7.11) iaixb+(1y1)M(7.9)igixh+y1M(7.10)y1{0,1}(7.11)

7.3 If-then

若约束 ∑ i a i x ≤ b \sum_i{a_ix}\le b iaixb 成立,则约束 ∑ i g i x ≤ h \sum_i{g_ix}\le h igixh 也成立

线性化转化为:
∑ i a i x ≤ b + ( 1 − y 1 ) M          ( 7.12 ) ∑ i g i x ≤ h + ( 1 − y 2 ) M          ( 7.13 ) y 2 ≥ y 1          ( 7.14 ) y 1 , y 2 ∈ { 0 , 1 }          ( 7.15 ) \sum_i{a_ix}\le b+\left( 1-y_1 \right)M \;\;\;\;(7.12)\\ \sum_i{g_ix}\le h+\left( 1-y_2\right)M \;\;\;\;(7.13)\\ y_2\geq y_1 \;\;\;\;(7.14)\\ y_1,y_2\in\left\{ 0,1 \right\}\;\;\;\;(7.15) iaixb+(1y1)M(7.12)igixh+(1y2)M(7.13)y2y1(7.14)y1,y2{0,1}(7.15)

8 二次(混整)整数变量线性化

前面的内容主要都是针对连续变量的线性化,接下来我们考虑整数变量的线性化,整数变量中我们最常用的是二次整数变量的线性化。
决策变量 x i , x j      ∀ i , j ∈ I 其 中 x i , x j ∈ { 0 , 1 } x_i,x_j \;\;\forall i,j\in I 其中 x_i,x_j\in\{0,1\} xi,xji,jIxi,xj{0,1} 考虑线性化二次交叉项: x i x j x_ix_j xixj

y i j = x i x j y_{ij}=x_ix_j yij=xixj ,同时添加如下约束:
y i j ≤ x i y i j ≤ x j y i j ≥ x i + x j − 1 y i j ∈ { 0 , 1 } y_{ij}\leq x_i \\ y_{ij}\leq x_j \\ y_{ij}\geq x_i + x_j-1 \\ y_{ij} \in \{0,1\} yijxiyijxjyijxi+xj1yij{0,1}
从上式可以观察出为了表达出交叉项的信息,我们引入了新的决策变量 y i j y_{ij} yij ,与原来优化问题的决策变量 x x x ,采用如上方法线性化之后会让决策变量从线性扩增到平方的数量级。因此如上的线性化方式未必能让问题变得简单,再使用时需要进一步结合问题性质去考虑。

决策变量 x i , y j      ∀ i , j ∈ I 其 中 x i ∈ { 0 , 1 } , y j ∈ [ a , b ] x_i,y_j \;\;\forall i,j\in I 其中 x_i\in\{0,1\}, y_j\in[a,b] xi,yji,jIxi{0,1},yj[a,b] 考虑线性化二次交叉项: x i y j x_iy_j xiyj

z i j = x i y j z_{ij}=x_iy_j zij=xiyj ,同时添加如下约束:
z i j ≤ y j z i j ≥ y j − b ( 1 − x i ) a x i ≤ z i j ≤ b x i z_{ij}\leq y_j\\ z_{ij}\geq y_j - b(1-x_i)\\ ax_i\leq z_{ij}\leq bx_i zijyjzijyjb(1xi)axizijbxi
需要注意的是这块的 x i y j x_iy_j xiyj 是一个混整项。

参考文献:

【1】Bertsimas D, Tsitsiklis J N. Introduction to linear optimization[M]. Belmont, MA: Athena Scientific, 1997.
【2】Matthias Miltenberger. Gurobi Optimization. Advanced Modeling Techniques in Gurobi
【3】日出东方:9种常用的线性化方法(含Gurobi中的写法)
【4】优化|高级建模方法(Gurobi):线性化表达小技巧

  • 14
    点赞
  • 74
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
运筹学课设lingo线性问题是指运用lingo软件求解运筹学中的线性规划问题。运筹学是一门研究如何有效地解决决策问题的学科,而线性规划是运筹学的重要分支,常常用于优化问题的求解。 在lingo软件中,我们可以通过输入线性规划问题的目标函数、约束条件和变量的定义来定义和描述问题。目标函数是我们希望最小化或最大化的函数,约束条件是问题的限制条件,变量是我们要优化的决策变量。 通过lingo软件的求解器,我们可以将线性规划问题转化为数学模型,并自动进行求解。Lingo软件提供了许多功能和选项,使得我们能够对线性规划问题进行处理、求解和分析。我们可以使用lingo软件的约束优化功能进行参数优化和灵敏度分析,从而得到最佳解决方案。 在运筹学课设中,我们可以利用lingo软件对各种实际问题建立线性模型,并进行求解。例如,对于生产调度问题,我们可以将生产任务量、机器能力和工时等因素转化为线性规划模型,并通过lingo软件求解出最佳的生产调度方案。对于物流配送问题,我们可以将各个供应点和需求点之间的距离、货物的数量和车辆的容量等因素转化为线性规划模型,并利用lingo软件求解出最佳的配送路线。 总之,运筹学课设lingo线性问题是指利用lingo软件对运筹学中的线性规划问题进行建模和求解的过程。通过lingo软件的功能和选项,我们能够更加高效、准确地解决运筹学中的各种线性问题。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王源WANGYuan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值