MINLP: Mixed Integer Nonlinear Programming
Solves the mixed integer nonlinear problem:
min p(x,y)
s.t. f(x,y) <= 0
s.t. g(x,y) == 0
s.t. lb <= x <= ub
s.t. nlb <= y <= nub
x(yidx) integer where yidx is a logical index vector
y continuous variables
This program solves nonlinear mixed integer problems with a branch and bound method. NLP relaxations are solved with IPOPT or APOPT.
Files:
minlp.m - Solve the example MINLP problem
minlp.apm - MINLP problem definition
Other:
APM Function Library (v.0.5.6) in folder
Further work:
Add heuristics to create a good initial integer solution
Add cuts to the problem (branch and cut method)
Some testing shows that it works well with up to around 30 integer variables and 10000 NLP variables. Solutions to NLP relaxations are solved as a web-service. With the network communication overhead, the solution time may be slower than other MINLP solvers such as DICOPT, BONMIN, etc. This program is intended for educational purposes and to attract collaborators for future developments. The release notes and development roadmap are listed at the APMonitor.com web-site:
Zitieren als
John Hedengren (2024). MINLP: Mixed Integer Nonlinear Programming (https://www.mathworks.com/matlabcentral/fileexchange/35720-minlp-mixed-integer-nonlinear-programming), MATLAB Central File Exchange. Abgerufen.
Kompatibilität der MATLAB-Version
Plattform-Kompatibilität
Windows macOS LinuxKategorien
- Mathematics and Optimization > Optimization Toolbox > Nonlinear Optimization >
- Mathematics and Optimization > Optimization Toolbox > Linear Programming and Mixed-Integer Linear Programming >
Tags
Quellenangaben
Inspiriert von: bnb, fminconset, Linear Mixed Integer Program Solver
Inspiriert: Model Predictive Control, Comparison of 5 Estimator Methods, New ODE and DAE Solver, Moving Horizon Estimation
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Live Editor erkunden
Erstellen Sie Skripte mit Code, Ausgabe und formatiertem Text in einem einzigen ausführbaren Dokument.
apm/
Version | Veröffentlicht | Versionshinweise | |
---|---|---|---|
1.0.0.0 |