如何正确定义鸭嘴兽的约束条件

时间:2019-04-16 11:35:02

标签: python optimization platypus platypus-optimizer

在Matlab中,我们可以为每个变量定义非线性约束。假设我们在x1中有两个变量x2x[x1, x2]。因此我们决定对此有一个约束,我们应该像c = [c1, c2]那样定义它,其中c1特别为x1定义,c2x2定义。这样,我认为优化模型可以理解如何控制每个变量。

现在,我想在Python和Platypus中执行相同的操作。尽管有定义约束的选项,但我不知道如何像定义每个变量的特殊约束那样定义它。

def funtion1()=
    ...
    return [goal1, goal2] , [c1, c2]

def funtion1()=
    ...
    return [goal1, goal2] , c

我认为我应该将约束放在函数中return的第二个参数中,但是它应该是列表还是数字?我的意思是说,在迭代中,c1可以,但是c2不是,它应该像c = [-1, 1]还是c = 1这样的列表? (将“ <=“作为约束)

能否请您向我展示一个结构合理的Platypus优化模型,该模型具有这样的约束?

0 个答案:

没有答案