Giter Club home page Giter Club logo

minoan's Introduction

MINOAN

Mixed INteger Optimization using ApproximatioNs (Beta Version 0.0.1)

About

MINOAN is an open-source Python library used for machine learning-based (or surrogate-based) optimization. The alglorithm supports constrained NLP and MINLP (with binary variables) problems:

$$min f(x,y) s.t. g1(x,y)>=0, g2(x,y)<= 0, g3(x,y)=0 x_l <= x <= x_u, y = {0,1}$$

It currently supports the following machine learning models:

  • Artificial Neural Network (tanh and relu activation function)
  • Gaussian Process
  • Support Vector Regression

These models are constructed using scikit-learn and optimized using Pyomo via GAMS or NEOS interface. MINOAN has additional capabilities such as:

  • Parallel processing for multiple promising binary solutions
  • Gray-box problems with known/explicit constraints

If you have any questions or concerns, please send an email to [email protected] or [email protected]

Installation

If using Anaconda, first run: conda install git pip

The code can be directly installed from github using the following command: pip install git+git://github.com/DDPSE/minoan

Examples

Example codes are found in the directory "test".

  • Example 1: constrained, black-box MINLP problem
  • Example 2: constrained, gray-box MINLP problem
  • Example 3: constrained, black-box NLP problem

References

  • Kim SH, Boukouvala F. Machine learning-based surrogate modeling for data-driven optimization: a comparison of subset selection for regression techniques. Optimization Letters. 2019.
  • Kim SH, Boukouvala F. Surrogate-Based Optimization for Mixed-Integer Nonlinear Problems. Computers & Chemical ENgineering. 2020.

minoan's People

Contributors

sophiekim0205 avatar skim3061 avatar

Stargazers

Mengjia Zhu avatar Mengchang Wang avatar  avatar Suryateja Ravutla avatar 虚妄之诺 avatar  avatar Joshua Pulsipher avatar Matthew Wilhelm avatar

Watchers

James Cloos avatar

Forkers

jyzhai amuwa

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.