Artelys Knitro - Artelys Knitro
Navrhl |
|
---|---|
Vývojář | Artelys |
Poprvé se objevil | 2001 |
Stabilní uvolnění | 12. 2. / 29. května 2020 |
OS | Cross-platform |
Licence | Proprietární |
webová stránka | Artelys Knitro |
Artelys Knitro je komerční softwarový balíček pro řešení nelineárních řešení ve velkém měřítku matematická optimalizace problémy.
KNITRO - (původní název řešitele) zkratka pro „Nonline Jápřední bod Trez Region Óptimization "(dále jen" K "mlčí) - byl spoluvytvořen Richardem Waltzem, Jorge Nocedal, Todd Plantenga a Richard Byrd. Poprvé byl představen v roce 2001 jako derivát akademického výzkumu na Northwestern University (prostřednictvím Ziena Optimization LLC) a od té doby je vývojáři společnosti Artelys neustále vylepšovali.
Problémy s optimalizací musí být prezentovány Knitro v matematické formě a měly by poskytnout způsob výpočtu derivátů funkcí řídké matice (Knitro dokáže vypočítat aproximaci derivátů, ale ve většině případů je poskytnutí přesných derivátů výhodné). Často snazší přístup je vyvinout problém optimalizace v jazyk algebraického modelování. Prostředí modelování počítá deriváty funkcí a Knitro se nazývá „řešitel“ z prostředí.
Problémové třídy vyřešil Artelys Knitro
Knitro se specializuje na nelineární optimalizace ale také řeší celou řadu optimalizačních problémů:
- Obecné nelineární problémy (NLP), včetně nekonvexních
- Systémy nelineárních rovnic
- Lineární problémy (LP)
- Kvadratické problémy (QP / QCQP / SOCP), konvexní i nekonvexní
- Problémy / regrese nejmenších čtverců, lineární i nelineární
- Matematické programy s omezeními komplementarity (MPCC / MPEC)
- Nelineární problémy se smíšeným celým číslem (MIP / MINLP)
- Problémy s optimalizací bez derivací (DFO)
Algoritmy
Artelys Knitro obsahuje širokou škálu optimalizačních algoritmů.
Řešitel nelineárního programování (NLP)
Knitro nabízí čtyři různé optimalizace algoritmy pro řešení optimalizačních problémů.[1] Dva algoritmy jsou z vnitřní bod typu a dva jsou z aktivní sada typ. O těchto algoritmech je známo, že mají zásadně odlišné charakteristiky; například metody vnitřních bodů sledují cestu vnitřkem proveditelný region zatímco metody aktivní sady mají tendenci zůstat na hranici. Knitro poskytuje oba typy algoritmů pro větší flexibilitu při řešení problémů a umožňuje přechod během procesu řešení z jednoho algoritmu do druhého. Tento kód také poskytuje možnost vícenásobného spuštění pro podporu výpočtu globální minimum.
- Algoritmus interiér / přímý
- Algoritmus přechodu Interiér / Konjugát
- Algoritmus aktivní sady
- Algoritmus sekvenčního kvadratického programování (SQP)
Řešitel nelineárního programování se smíšenými celými čísly (MINLP)
Knitro poskytuje nástroje pro řešení optimalizačních modelů (lineárních i nelineárních) s binárními nebo celočíselnými proměnnými. Kód KIP smíšeného celočíselného programování (MIP) nabízí tři algoritmy pro nelineární programování se smíšeným celým číslem (MINLP):[2]
- Nelineární větev a hranice
- Algoritmus Quesada Grossmana
- Sekvenční kvadratické programování se smíšenými celými čísly (MISQP)
Funkce
Artelys Knitro podporuje celou řadu programovacích a modelovacích jazyků včetně.[3]
- Objektově orientovaná rozhraní pro C ++, C #, Java a Python
- Maticově orientovaná rozhraní pro Julii, C, Fortran, MATLAB a R.
- Odkazy na modelovací jazyky: AIMMS, AMPL, GAMS a MPL
- Odkazy na Excel prostřednictvím řešení Frontline Solvers
Artelys Knitro také obsahuje řadu klíčových funkcí:
- Velká sada dobře zdokumentovaných uživatelských možností[4] a automatický tuner
- (Paralelní) multi-start pro globální optimalizaci
- Aproximace a kontrola derivátů
- Vnitřní předpínač
Reference
- Nocedal, Jorge; Wright, Stephen J. (2006). Numerická optimalizace (2. vyd.). Springer Publishing. ISBN 0-387-30303-0.
- Byrd, Richard H .; Nocedal, Jorge; Valčík, Richard A. (2006). „Knitro: Integrovaný balíček pro nelineární optimalizaci“ (PDF). Archivovány od originál (PDF) 12. října 2016. Citováno 17. listopadu 2017. Citovat deník vyžaduje
| deník =
(Pomoc)
externí odkazy
- Jorge Nocedal, profil na oddělení EECS v McCormick School of Engineering