Åpen kildekode-alternativ til MATLABs fmincon funksjon?

stemmer
28

Er det en åpen kildekode-alternativ til MATLAB sin fminconfunksjon for tvangs lineær optimering? Jeg omskriving et MATLAB program å bruke Python / NumPy / SciPy og dette er den eneste funksjonen jeg har ikke funnet en tilsvarende. En NumPy-basert løsning ville være ideelt, men alle språk vil gjøre.

Publisert på 08/09/2008 klokken 15:19
kilden bruker
På andre språk...                            


8 svar

stemmer
26

Er problemet ditt konvekse? Lineær? Ikke-lineær? Jeg er enig i at SciPy.optimize vil trolig gjøre jobben, men fmincon er en slags bazooka for å løse optimeringsproblemer, og du vil få det bedre hvis du kan begrense det til en av kategoriene under (i økende vanskelighetsgrad for å løse effektivt)

Lineær Program (LP) Kvadratisk Program (QP) Convex kvadratisk med begrenset Kvadratisk Program (QCQP) Second Order Cone Program (SOCP) Semidefinite Program (SDP) Ikke-lineær Convex Problem Non-Convex Problem

Det er også combinatoric problemer som Mixed-Integer Linear programmer (MILP), men du nevnte ikke noen form for integrality begrensninger, nok til å si at de faller inn i en annen klasse av problemer.

Den CVXOpt pakken vil være til stor nytte for deg hvis problemet er konveks.

Hvis problemet ikke er konveks, må du velge mellom å finne en lokal løsning eller global løsning. Mange konvekse løsere 'slags' arbeid i en ikke-konveks domene. Finne en god tilnærming til global løsning ville kreve noen form simulert herding eller genetisk algoritme. Finne den globale løsningen vil kreve en opplisting av alle lokale løsninger eller en kombinatorisk strategi som Branch og bundet.

Svarte 13/10/2008 kl. 05:51
kilden bruker

stemmer
17

Python optimalisering av programvare:

Svarte 06/12/2009 kl. 18:51
kilden bruker

stemmer
13

Åpen kildekode Python-pakken, SciPy , har ganske stort sett med optimalisering rutiner inkludert noen for multivariable problemer med begrensninger (som er hva fmincon gjør tror jeg). Når du har SciPy installert skriver følgende på Python ledeteksten

Hjelp (scipy.optimize)

Den resulterende dokumentet er omfattende og inneholder følgende som jeg tror kan være til nytte for deg.

   Constrained Optimizers (multivariate)

   fmin_l_bfgs_b -- Zhu, Byrd, and Nocedal's L-BFGS-B constrained optimizer
                      (if you use this please quote their papers -- see help)

   fmin_tnc      -- Truncated Newton Code originally written by Stephen Nash and
                      adapted to C by Jean-Sebastien Roy.

   fmin_cobyla   -- Constrained Optimization BY Linear Approximation
Svarte 16/09/2008 kl. 09:45
kilden bruker

stemmer
4

GNU Octave er en annen MATLAB klone som kanskje har det du trenger.

Svarte 08/09/2008 kl. 15:22
kilden bruker

stemmer
3

For numerisk optimering i Python kan du ta en titt på OpenOpt løsere:

http://openopt.org/NLP

http://openopt.org/Problems

Svarte 19/04/2009 kl. 08:10
kilden bruker

stemmer
1

Ta en titt på http://www.aemdesign.com/downloadfsqp.htm .

Der vil du finne C-kode som gir samme funksjonalitet som fmincon. (Men ved hjelp av en annen algoritme. Du kan lese manualen hvis du er interessert i detaljene.)

Det er åpen kildekode, men ikke under GPL.

Svarte 14/01/2009 kl. 18:38
kilden bruker

stemmer
1

Det er et program som heter Scilab som er en MATLAB klone.

Jeg har ikke brukt det i det hele tatt, men det er åpen kildekode og kan ha den funksjonen du leter etter.

Svarte 08/09/2008 kl. 15:21
kilden bruker

stemmer
0

Jeg vet ikke om det er der inne, men det er en python distribusjon kalt Enthought som kanskje har det du leter etter. Det ble utviklet spesielt for dataanalyse har over 60 flere biblioteker.

Svarte 08/09/2008 kl. 16:02
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more