Because optimization is fun!
Switch branches/tags
Nothing to show
Clone or download
jgillis Adding multistage example
Modeled with Moritz Diehl
Latest commit e9c75db Oct 6, 2015

README.rst

optoy

Because optimization is fun!

Build Status of the master branch on Linux Coverage Status Documentation Status

Optoy combines the power of casadi with a very compact Python user interface. Start optimizing in minutes...

Installation:

$ pip install git+git://github.com/casadi/optoy.git

Static optimization

from optoy import *

x = var()
y = var()
print "cost = ", minimize((1-x)**2+100*(y-x**2)**2,[x**2+y**2<=1, x+y>=0])
print "sol = ", x.sol, y.sol

Dynamic optimization

from optoy import *

x = state()
y = state()
q = state()
u = control()

T = var(lb=0,init=10)

x.dot = (1-y**2)*x-y+u
y.dot = x
q.dot = x**2+y**2

ocp(T,[u>=-1,u<=1,q.start==0,x.start==1,y.start==0,x.end==0,y.end==0],T=T,N=20)

plot(x.sol)
plot(y.sol)
plot(u.sol)

https://cloud.githubusercontent.com/assets/329032/6380987/2a6fec10-bd3e-11e4-81b9-3b047d6e7066.png

Get started with some examples or by reading the API documentation .