Vra

Is daar 'n open-source alternatief vir MATLAB se fmincon funksie lewer vir lineêre optimering? Ek is herskryf 'n MATLAB program om Python / Numpy / Scipy en dit is die enigste funksie wat ek nog nie gevind nie 'n gelykstaande aan. A-Numpy gebaseerde oplossing sou ideaal wees, maar enige taal sal doen.

Was dit nuttig?

Oplossing

Is jou probleem konvekse? Lineêre? Nie-lineêre? Ek stem saam dat SciPy.optimize waarskynlik die werk sal doen, maar fmincon is 'n soort van bazooka vir die oplos van optimeringsprobleme, en jy sal beter daaraan toe wees as jy dit kan beperk tot een van die onderstaande kategorieë (in toenemende moeilikheidsgraad te los doeltreffend)

Lineêre Program (LP) Kwadratiese Program (QP) Konvekse kwadratisch-bande Kwadratiese Program (QCQP) Tweede Orde Cone Program (SOCP) Semi-Program (SDP) Nie-lineêre Hol Probleem Nie-Hol Probleem

Daar is ook combinatoric probleme soos Gemengde-Integer lineêre programme (MILP), maar jy het 'n soort van volledigheid beperkings nie noem, voldoende om te sê dat hulle val in 'n ander klas van probleme.

Die CVXOpt pakket sal van groot nut wees vir julle as jou probleem is konveks.

As jou probleem is nie konveks, moet jy kies tussen die vind van 'n plaaslike oplossing of die globale oplossing. Baie konvekse solvers 'n soort van 'werk in 'n nie-konvekse domein. Dit vind van 'n goeie benadering tot die globale oplossing sou een of ander vorm Gesimuleerde Uitgloeiing of genetiese algoritme vereis. Dit vind van die globale oplossing sal 'n opsomming van al die plaaslike oplossings of 'n kombinatoriese strategie soos Tak en gebind.

vereis

Ander wenke

Python optimalisering sagteware:

Die open source Python pakket, Scipy , het nogal 'n groot versameling van optimalisering roetines insluitend 'n paar vir meerveranderlike probleme met beperkings (en dit is wat fmincon doen ek glo). Sodra jy Scipy geïnstalleer tik die volgende by die Python command prompt

hulp (scipy.optimize)

Die gevolglike dokument is omvangryk en sluit die volgende wat ek glo van gebruik kan word om jou.

   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

GNU Octave is nog 'n MATLAB kloon wat dalk wat jy nodig het.

Vir numeriese optimalisering in Python kan jy 'n blik op OpenOpt solvers:

http://openopt.org/NLP

http://openopt.org/Problems

Het jy 'n blik op http://www.aemdesign.com/downloadfsqp.htm .

Daar sal jy C-kode wat dieselfde funksie as fmincon bied te vind. (Maar 'n ander algoritme. Jy kan die handleiding as jy belangstel in die besonderhede is gelees.)

Dit is open source, maar nie onder GPL.

Daar is 'n program genaamd Scilab dit is 'n MATLAB kloon.

Ek het dit nie gebruik nie, maar dit is open source en kan die funksie wat jy soek nie.

Ek weet nie of dit in daar, maar daar is 'n luislang verspreiding genoem Enthought wat dalk waarna jy soek vir. Dit is spesifiek ontwerp vir data-analise het meer as 60 bykomende biblioteke.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top