From OpenOpt

Jump to: navigation, search
Mixed-Integer Non-Linear Problems (MINLP)
\mathbf {f(x) \to min,\ max}
subjected to
\mathbf{lb} \le \mathbf{x} \le \mathbf{ub}
\mathbf{A x} \le \mathbf{b}
\mathbf{A}_\mathbf{eq} \mathbf{x} = \mathbf{b}_\mathbf{eq}
 \mathbf{\forall i=0,...,I: c_i(x) \le 0}
 \mathbf{\forall j=0,...,J: h_j(x) = 0}
 \mathbf{\forall k \in \{k_1,k_2,...k_m\}: x_k \in S_k}
\mathbf{S_k\ is\ a\ set\ of\ values\ from\ R}
 \mathbf{ \{ {f, c_i, h_j :R^n \to R \} \subset C^1}}
(smooth differentiable functions)
\mathbf{x \in R^n}

MINLP solvers connected to OpenOpt:

Solver License Algorithm Authors Info
(since v. 0.38)
BSD an interval algorithm Dmitrey searches global extremum with specifiable accuracy fTol: abs(f - f*) < fTol , where f* is theoretical optimal value. Can handle nonsmooth, multiextremum and even some discontinuous funcs like ceil, floor.
branb BSD branch-and-bound Ingar Solberg, Institutt for teknisk kybernetikk, Norges Tekniske Hrgskole, Norway This is translation of MATLABs fminconset routine to Python (by Dmitrey, with some minor changes). It recuires parameter "nlpSolver" like "ipopt', "scipy_lbfgsb", "scipy_tnc" etc for solving NLP subproblems.


  • MINLP is NP-Hard class of problems.
  • Please pay attention: objective function and non-linear constraints should be defined in whole R^nVars, i.e. for discrete variables as well as for continuous.
  • For branb It is assumed that objective function and constraints are at least unimodal (convex is preferred).

See also:

Retrieved from "http://openopt.org/MINLP"
Personal tools
    Latest OOSuite 0.38

    from 2012-03-15

    Next release: