pyOpt多目标minimax示例

时间:2016-01-20 03:34:31

标签: python optimization minimax

要解决的抽象问题:

我们有n个d维度设计变量,比如{k_0,k_1,...,k_n}

最大化[f(k_0),f(k_1),... f(k_n)]的最小值,其中f()是非线性函数,即maximin

约束:mean([k_0,k_1,...,k_n])== m,m已知常数

有人可以通过pyOpt提供一个如何解决这个问题的例子(maximin,d-dim变量)吗?

编辑:我试过这个:

void sum(int *x, int y){
    *x += y; // *x means "contents of what is pointed to by pointer x"
}

void call_sum() {
    int x = 1, y = 2;

    sum(&x,y); // &x because you're passing the address

    printf("%d\n", x); // this should print 3
}

假设二维设计变量

还有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

我可能会将其重新表述为:

enter image description here

您使用的min()函数是不可微分的(因此很危险)。此外,mean()函数可以替换为线性约束(这更容易)。

我不熟悉ALPSO解算器,但这种重新设计通常对SNOPT,NLPQL和FSQP等更传统的求解器有所帮助。