如何在mosek.fusion.Model中吸收表达式?

时间:2019-02-01 16:50:45

标签: python optimization mosek

我想解决最大化目标的优化问题,该目标是矩阵绝对值的总和。但是,我找不到准确的方法来获取该信息:

例如:

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的绝对值?

1 个答案:

答案 0 :(得分:0)

首先,您不能仅将任意Python函数应用于mosek.fusion对象!请咨询https://docs.mosek.com/8.1/pythonfusion/api-reference.html以了解可用的内容。

第二,最大化绝对值不是凸的问题!如果您真的要对其建模,则必须使用混合整数编程。咨询https://docs.mosek.com/modeling-cookbook/mio.html