我想解决最大化目标的优化问题,该目标是矩阵绝对值的总和。但是,我找不到准确的方法来获取该信息:
例如:
import mosek.fusion as mf
from mosek.fusion import Model, Domain, Expr, ObjectiveSense
with Model('lol') as M:
x = M.variable('x', [5,1], Domain.inRange(-1,1))
M.objective('obj', ObjectiveSense.Maximize, abs(x))
M.solve()
不起作用
Type Error: bad operand type for abs(): 'RangedVariable'
如何获取x
的绝对值?
答案 0 :(得分:0)
首先,您不能仅将任意Python函数应用于mosek.fusion对象!请咨询https://docs.mosek.com/8.1/pythonfusion/api-reference.html以了解可用的内容。
第二,最大化绝对值不是凸的问题!如果您真的要对其建模,则必须使用混合整数编程。咨询https://docs.mosek.com/modeling-cookbook/mio.html