Skip to content

casadi/optoy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 .