i*****r 发帖数: 1302 | 1 比如说Aeq = [1,-1,-1,0], Beq=0.就是说x3=x1-x2
如果我要x3为正的时候放x3-->x3=max(x1-x2,0),为负的时候放x4-->x4=min(x1-x2,0)
怎么安排?
还有就是如果objective function里要加入绝对值有办法么? | l*****i 发帖数: 3929 | 2 有技巧,就是变量替换:
任何一个变量z都可以写成u+v, 其中u=max(z,0)>=0,v=min(z,0)<=0, 那么|z|=u-v。这
样一来就没有绝对值符号了。
【在 i*****r 的大作中提到】 : 比如说Aeq = [1,-1,-1,0], Beq=0.就是说x3=x1-x2 : 如果我要x3为正的时候放x3-->x3=max(x1-x2,0),为负的时候放x4-->x4=min(x1-x2,0) : 怎么安排? : 还有就是如果objective function里要加入绝对值有办法么?
| i*****r 发帖数: 1302 | 3 我知道啊,但这个u, v怎么欠到linprog中? linprog里面没办法写u=max(z,0)
。这
【在 l*****i 的大作中提到】 : 有技巧,就是变量替换: : 任何一个变量z都可以写成u+v, 其中u=max(z,0)>=0,v=min(z,0)<=0, 那么|z|=u-v。这 : 样一来就没有绝对值符号了。
| l*****i 发帖数: 3929 | 4 糊涂啊,z根本就不要出现啊,完全用u和v代替了啊
v
【在 i*****r 的大作中提到】 : 我知道啊,但这个u, v怎么欠到linprog中? linprog里面没办法写u=max(z,0) : : 。这
| i*****r 发帖数: 1302 | 5 那我这个例子里,就是除了x1,x2,再加u,v , 求[x1;x2;u;v]
Aeq = [1,-1,-1,0, Beq = [0
1,-1,0,-1] 0]
然后u的lb定义成0, v的ub定义成0?
【在 l*****i 的大作中提到】 : 糊涂啊,z根本就不要出现啊,完全用u和v代替了啊 : : v
| l*****i 发帖数: 3929 | 6 就是这个意思
【在 i*****r 的大作中提到】 : 那我这个例子里,就是除了x1,x2,再加u,v , 求[x1;x2;u;v] : Aeq = [1,-1,-1,0, Beq = [0 : 1,-1,0,-1] 0] : 然后u的lb定义成0, v的ub定义成0? :
|
|