Skip to content

alexshmmy/Nonl_Opt_Python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 

Repository files navigation

Nonlinear Optimization with Python

A collection of nonlinear optimization problems of the form

           min f(x)             

subjet to   
           g_i(x) >= 0,      i=1,2,...N
           h_j(x) = 0,       j=1,2,...M 
           l_k <= x_k <= U_k, k=1,2,...n

where:

  • $x$ is the vector of decision variables (dimension n).
  • $f(x)$ models the objective function to be minimized (in general nonlinear function).
  • The functions $g_i(x)$ model the inequality constraints (in general nonlinear functions).
  • The functions $h_j(x)$ model the equality constraints (in general nonlinear functions).
  • $l_k, U_k$ are the lower and upper bounds, respectively, of each deciection variables $x_k$.

The nonlinear optimizaiton problems are solved efficiently by using the open source scipy.optimize Python library.

Dependencies

The following packages are required to run the scripts:

Packages
math
numpy
scipy

The problems have been tested with Python 3.7.4, numpy=1.7.3, scipy=1.4.1.

Collections of problems

W. Hock and K. Schittkowski: Test Examples for Nonlinear Programming Codes, 1981 is widely accepted as one of the mandatory test scenarios for Nonlinear Programming codes. The 121 problems along with solutions, have been posted in [link1], [link2]. In collections we provide some of theese benchmark problems solved by using scipy.optimize open source Python library.

How to run

Open terminal and give the following commands:

git clone https://github.com/alexshmmy/Nonl_Opt_Python.git
cd Nonl_Opt_Python/collections
python3 problem001.py

Other references

[1] W. Hock and K. Schittkowski: Test Examples for Nonlinear Programming Codes, 1981.

[2a] Revised Hock & Schittkowski models for automatable test scenarios, [link].

[2b] Hock & Schittkowski nonlinear optimizaiton benchmark problems, [link].

[3] Scipy documentation, [Link 1].

[4] Scipy documenation, [Link 2].

[5] Nonlinear programming with pyOpt [Link].

[6] Design optimization textbook [Link].

[7] Alex bachelor thesis

Contact info

For questions or suggestions for improvements please drop an e-mail to:

alex [dot] shmmy (at) gmail [dot] com.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages