Optimization 了解更多关于APOPT solver的信息

Optimization 了解更多关于APOPT solver的信息,optimization,nonlinear-optimization,mixed-integer-programming,gekko,Optimization,Nonlinear Optimization,Mixed Integer Programming,Gekko,关于APOPT如何解决MINLPs,我有几个问题。 APOP使用什么非线性规划方法(内点、信赖域等) APOPT如何处理混合整数(B&B、外部近似、广义benders分解等) APOPT是一种使用分支和边界的活动集序列二次规划(SQP)求解器。APOPT使用温启动方法来加速连续非线性规划(NLP)解决方案。有关APOPT的更多信息,请参见和。2013年报告和2014年APMonitor CACE文件中有基准信息 Hedengren,J.D.,Mojica,J.L.,Lewis,A.D.和Nik

关于APOPT如何解决MINLPs,我有几个问题。

  • APOP使用什么非线性规划方法(内点、信赖域等)
  • APOPT如何处理混合整数(B&B、外部近似、广义benders分解等)

    • APOPT是一种使用分支和边界的活动集序列二次规划(SQP)求解器。APOPT使用温启动方法来加速连续非线性规划(NLP)解决方案。有关APOPT的更多信息,请参见和。2013年报告和2014年APMonitor CACE文件中有基准信息

    • Hedengren,J.D.,Mojica,J.L.,Lewis,A.D.和Nikbakhsh,S.,通知年度会议,明尼苏达州明尼阿波利斯,2013年10月
    • Hedengren,J.D.和Asgharzadeh Shishavan,R.,Powell,K.M.,和Edgar,T.F.,计算机与化学工程,第70卷,第133–148页,2014年,内政部:10.1016/J.compchemeng.2014.04.013 下面是一个示例MINLP问题,在使用
      pip安装Gekko

      从gekko导入gekko
      m=GEKKO()#初始化GEKKO
      m、 options.SOLVER=1#APOPT是一个MINLP解算器
      #APOPT的可选解算器设置
      m、 解算器_选项=['minlp_最大迭代次数500'\
      #整数解的minlp迭代
      “minlp_max_iter_,带“int_sol 10”\
      #将minlp视为nlp
      “minlp_as_nlp 0”\
      #nlp子问题最大迭代次数
      “nlp_最大迭代次数50”\
      #1=深度优先,2=宽度优先
      “minlp_分支_方法1”\
      #与整数的最大偏差
      “最小整数0.05”\
      #收敛容限
      “最小间隙0.01”]
      #初始化变量
      x1=m.Var(值=1,磅=1,磅=5)
      x2=m.Var(值=5,磅=1,磅=5)
      #x3和x4的整数约束
      x3=m.Var(值=5,磅=1,磅=5,整数=True)
      x4=m.Var(值=1,lb=1,ub=5,整数=True)
      m、 方程(x1*x2*x3*x4>=25)
      m、 方程(x1**2+x2**2+x3**2+x4**2==40)
      m、 Obj(x1*x4*(x1+x2+x3)+x3)#目标
      m、 求解(disp=False)#求解
      打印('x1:'+str(x1.value))
      打印('x2:'+str(x2.值))
      打印('x3:'+str(x3.value))
      打印('x4:'+str(x4.value))
      打印('Objective:'+str(m.options.objfcnval))
      
      迭代摘要提供了有关找到解决方案的分支和绑定过程的更多信息

       ----------------------------------------------
       Steady State Optimization with APOPT Solver
       ----------------------------------------------
      Iter:     1 I:  0 Tm:      0.00 NLPi:    7 Dpth:    0 Lvs:    3 Obj:  1.70E+01 Gap:       NaN
      --Integer Solution:   1.75E+01 Lowest Leaf:   1.70E+01 Gap:   3.00E-02
      Iter:     2 I:  0 Tm:      0.00 NLPi:    5 Dpth:    1 Lvs:    2 Obj:  1.75E+01 Gap:  3.00E-02
      Iter:     3 I:  0 Tm:      0.00 NLPi:    6 Dpth:    1 Lvs:    2 Obj:  1.75E+01 Gap:  3.00E-02
      --Integer Solution:   1.75E+01 Lowest Leaf:   1.70E+01 Gap:   3.00E-02
      Iter:     4 I:  0 Tm:      0.00 NLPi:    6 Dpth:    2 Lvs:    1 Obj:  2.59E+01 Gap:  3.00E-02
      Iter:     5 I:  0 Tm:      0.00 NLPi:    5 Dpth:    1 Lvs:    0 Obj:  2.15E+01 Gap:  3.00E-02
       No additional trial points, returning the best integer solution
       Successful solution
      
       ---------------------------------------------------
       Solver         :  APOPT (v1.0)
       Solution time  :   1.609999999345746E-002 sec
       Objective      :    17.5322673012512     
       Successful solution
       ---------------------------------------------------
      
      x1: [1.3589086474]
      x2: [4.5992789966]
      x3: [4.0]
      x4: [1.0]
      Objective: 17.532267301