Optimalizační problémy: koncepce, metody řešení a klasifikace

Obsah:

Optimalizační problémy: koncepce, metody řešení a klasifikace
Optimalizační problémy: koncepce, metody řešení a klasifikace
Anonim

Optimalizace vám pomáhá najít nejlepší výsledek, který přináší zisk, snižuje náklady nebo nastavuje parametr, který způsobuje selhání obchodních procesů.

Tento proces se také nazývá matematické programování. Řeší problém stanovení rozdělení omezených zdrojů nutných k dosažení cíle stanoveného vedoucím optimalizačního problému. Ze všech možných možností je žádoucí najít tu, která maximalizuje (nebo snižuje) kontrolní parametr, například zisk nebo náklady. Optimalizační modely se také nazývají normativní nebo normativní, protože se snaží najít proveditelnou strategii pro podnikání.

Historie vývoje

Lineární programování (LP) pracuje s třídou optimalizačních problémů, kde jsou všechna omezení lineární.

Metody řešení optimalizačních problémů
Metody řešení optimalizačních problémů

Představujeme stručnou historii vývoje LP:

  • V roce 1762 vyřešil Lagrange jednoduché optimalizační problémy s omezeními rovnosti.
  • V roce 1820 se Gauss rozhodllineární systém rovnic využívající eliminaci.
  • V roce 1866 Wilhelm Jordan zdokonalil metodu hledání chyb nejmenších čtverců jako vhodného kritéria. Tato metoda se nyní nazývá Gauss-Jordanova metoda.
  • Digitální počítač se objevil v roce 1945.
  • Danzig vynalezl simplexové metody v roce 1947.
  • V roce 1968 představili Fiacco a McCormick metodu Inside Point.
  • V roce 1984 použil Karmarkar vnitřní metodu k řešení lineárních programů a přidal svou inovativní analýzu.

LP se osvědčilo jako extrémně výkonný nástroj jak pro modelování reálných problémů, tak jako široce aplikovaná matematická teorie. Mnoho zajímavých optimalizačních problémů je však nelineárních.

Co dělat v tomto případě? Studium takových problémů zahrnuje pestrou směs lineární algebry, vícerozměrného počtu, numerické analýzy a výpočetních metod. Vědci vyvíjejí výpočetní algoritmy, včetně metod vnitřních bodů pro lineární programování, geometrii, analýzu konvexních množin a funkcí a studium speciálně strukturovaných problémů, jako je kvadratické programování.

Nelineární optimalizace poskytuje základní pochopení matematické analýzy a je široce používána v různých oblastech, jako je inženýrství, regresní analýza, správa zdrojů, geofyzikální průzkum a ekonomie.

Klasifikace optimalizačních problémů

Problémy optimalizace lineárního programování
Problémy optimalizace lineárního programování

Důležitý krokProces optimalizace je klasifikace modelů, protože jejich algoritmy řešení jsou přizpůsobeny konkrétnímu typu.

1. Problémy s diskrétní a spojitou optimalizací. Některé modely mají smysl pouze v případě, že proměnné nabývají hodnot z diskrétní podmnožiny celých čísel. Jiné obsahují data, která mohou nabýt jakékoli skutečné hodnoty. Obvykle se snáze řeší. Vylepšení algoritmů v kombinaci s pokroky v počítačové technologii dramaticky zvýšily velikost a složitost problému optimalizace lineárního programování.

2. Neomezená a omezená optimalizace. Dalším důležitým rozdílem jsou úlohy, kde neexistují žádné omezení na proměnné. Může se pohybovat v širokém rozsahu od jednoduchých odhadů po systémy rovnosti a nerovností, které modelují složité vztahy mezi daty. Takové optimalizační problémy lze dále klasifikovat podle povahy funkcí (lineární a nelineární, konvexní a hladké, diferencovatelné a nediferencovatelné).

3. Úkoly proveditelnosti. Jejich cílem je najít proměnné hodnoty, které splňují omezení modelu bez konkrétního cíle optimalizace.

4. Doplňkové úkoly. Jsou široce používány v technice a ekonomice. Cílem je najít řešení, které splňuje podmínky komplementarity. V praxi se úkoly s několika cíli často přeformulují na úkoly s jediným cílem.

5. Deterministická versus stochastická optimalizace. Deterministická optimalizace předpokládá, že data prozadání jsou naprosto přesná. V mnoha aktuálních otázkách však nemohou být z mnoha důvodů známy.

První má co do činění s jednoduchou chybou měření. Druhý důvod je zásadnější. Spočívá v tom, že některá data představují informace o budoucnosti, například poptávka po produktu nebo cena pro budoucí časové období. Při optimalizaci za podmínek stochastické optimalizace je do modelu zahrnuta nejistota.

Hlavní součásti

Typy optimalizačních problémů
Typy optimalizačních problémů

Cílová funkce je ta, která má být minimalizována nebo maximalizována. Většina typů optimalizačních problémů má jednu cílovou funkci. Pokud ne, mohou být často přeformulovány tak, aby fungovaly.

Dvě výjimky z tohoto pravidla:

1. Cílová vyhledávací úloha. Ve většině podnikových aplikací chce manažer dosáhnout konkrétního cíle a zároveň vyhovět omezením modelu. Uživatel nechce nijak zvlášť optimalizovat něco, takže nemá smysl definovat objektivní funkci. Tento typ se běžně označuje jako problém s uspokojením.

2. Spousta objektivních funkcí. Uživatel by často chtěl optimalizovat několik různých cílů najednou. Obvykle jsou nekompatibilní. Proměnné, které se optimalizují pro jeden cíl, nemusí být nejlepší pro ostatní.

Typy součástí:

  • Řízený vstup je soubor rozhodovacích proměnných, které ovlivňují hodnotu účelové funkce. Ve výrobním úkolu mohou proměnné zahrnovat rozdělení různých dostupných zdrojů nebo práce, která je k tomu zapotřebíkaždá akce.
  • Omezení jsou vztahy mezi rozhodovacími proměnnými a parametry. U produkčního problému nemá smysl trávit spoustu času jakoukoli činností, proto omezte všechny „dočasné“proměnné.
  • Možná a optimální řešení. Hodnota rozhodnutí pro proměnné, pod kterou jsou splněna všechna omezení, se nazývá splnitelná. Většina algoritmů jej nejprve najde a poté se jej pokusí vylepšit. Nakonec změní proměnné, aby přešli z jednoho proveditelného řešení na druhé. Tento proces se opakuje, dokud cílová funkce nedosáhne svého maxima nebo minima. Tento výsledek se nazývá optimální řešení.

Algoritmy optimalizačních problémů vyvinuté pro následující matematické programy jsou široce používány:

  • Konvexní.
  • Oddělitelné.
  • Quadratic.
  • Geometrické.

Google Linear Solvers

Matematický model optimalizační úlohy
Matematický model optimalizační úlohy

Lineární optimalizace neboli programování je název daný výpočetnímu procesu optimálního řešení problému. Je modelován jako soubor lineárních vztahů, které vznikají v mnoha vědeckých a inženýrských oborech.

Google nabízí tři způsoby řešení problémů lineární optimalizace:

  • Glop open source knihovna.
  • Doplněk Lineární optimalizace pro Tabulky Google.
  • Služba lineární optimalizace ve skriptu Google Apps.

Glop je integrován do Googlulineární řešič. Je k dispozici v open source. Ke Glopu můžete přistupovat prostřednictvím OR-Tools obálky lineárního řešiče, což je obálka pro Glop.

Modul lineární optimalizace pro Tabulky Google vám umožňuje provést lineární vyjádření problému optimalizace zadáním dat do tabulky.

Kvadratické programování

Platforma Premium Solver používá rozšířenou LP/Quadratic verzi metody Simplex s limity zpracování problémů LP a QP až na 2000 rozhodovacích proměnných.

SQP Solver pro rozsáhlé problémy využívá moderní implementaci metody aktivních množin s řídkým řešením problémů kvadratického programování (QP). Modul XPRESS Solver využívá přirozené rozšíření metody "Interior Point" nebo Newton Barrier k řešení problémů QP.

Řešitel MOSEK používá vložené metody „Inside Point“a automatické duální metody. To je zvláště účinné pro volně spojené problémy QP. Může také vyřešit problémy Scale Quadratic Constraint (QCP) a Second Order Cone Programming (SOCP).

Víceoperační výpočty

Poměrně úspěšně se používají s využitím funkcí Microsoft Office, například při řešení problémů s optimalizací v Excelu.

Algoritmy pro optimalizační problémy
Algoritmy pro optimalizační problémy

Ve výše uvedené tabulce jsou symboly:

  • K1 – K6 – zákazníci, kteří potřebují poskytnout zboží.
  • S1 - S6 jsou potenciální výrobní závody, které by pro to mohly být postaveny. Lze vytvořit1, 2, 3, 4, 5 nebo všech 6 míst.

Pro každé zařízení uvedené ve sloupci I (Fix) jsou fixní náklady.

Pokud se umístěním nic nezmění, nebude se počítat. Pak nebudou žádné fixní náklady.

Identifikujte potenciální místa, abyste získali nejnižší cenu.

Řešení optimalizačních problémů
Řešení optimalizačních problémů

Za těchto podmínek je umístění buď stanoveno, nebo ne. Tyto dva stavy jsou: „PRAVDA – NEPRAVDA“nebo „1 – 0“. Existuje šest stavů pro šest umístění, například 000001 je nastaveno pouze na šesté, 111111 je nastaveno na všechny.

V systému binárních čísel existuje přesně 63 různých možností od 000001 (1) do 111111 (63).

L2-L64 by nyní mělo znít {=MULTIPLE OPERATION (K1)}, toto jsou výsledky všech alternativních řešení. Potom je minimální hodnota=Min (L) a odpovídající alternativa je INDEX (K).

CPLEX programování celých čísel

Někdy lineární vztah nestačí k tomu, abychom se dostali k jádru obchodního problému. To platí zejména tehdy, když rozhodnutí zahrnují diskrétní volby, například zda otevřít nebo ne otevřít sklad na určitém místě. V těchto situacích je nutné použít celočíselné programování.

Pokud problém zahrnuje jak diskrétní, tak spojité volby, jedná se o smíšený celočíselný program. Může mít lineární, konvexní kvadratické problémy a stejná omezení druhého řádu.

Celočíselné programy jsou mnohem složitější než lineární programy, ale mají důležité obchodní aplikace. SoftwareSoftware CPLEX používá složité matematické metody k řešení celočíselných problémů. Jeho metody zahrnují systematické hledání možných kombinací diskrétních proměnných pomocí lineárních nebo kvadratických softwarových relaxací k výpočtu hranic hodnoty optimálního řešení.

Používají také LP a další metody řešení optimalizačních problémů k výpočtu omezení.

Standardní řešení Microsoft Excel

Tato technologie využívá základní implementaci hlavní metody Simplex k řešení problémů s LP. Je omezena na 200 proměnných. "Premium Solver" používá vylepšenou primární simplexovou metodu s oboustrannými hranicemi pro proměnné. Platforma Premium Solver využívá rozšířenou verzi LP/Quadratic Simplex Solver k řešení optimalizačního problému s až 2000 rozhodovacími proměnnými.

Rozsáhlý LP pro platformu Premium Solver využívá nejmodernější implementaci jednoduché a dvojité simplexové metody, která využívá řídkost v modelu LP k úspoře času a paměti, pokročilé strategie aktualizace a refaktorování matic, vícenásobné a částečné oceňování a rotace a pro překonání degenerace. Tento engine je k dispozici ve třech verzích (schopný zpracovat až 8 000, 32 000 nebo neomezeně proměnných a limitů).

MOSEK Solver zahrnuje primární a duální simplex, metodu, která rovněž využívá řídkost a využívá pokročilé strategie pro aktualizaci matic a „refaktorizaci“. Řeší problémy neomezené velikosti, byltestováno na problémy lineárního programování s miliony rozhodovacích proměnných.

Příklad krok za krokem v EXCEL

Lineární optimalizační problémy
Lineární optimalizační problémy

Chcete-li definovat model problému optimalizace v aplikaci Excel, proveďte následující kroky:

  • Uspořádejte data pro problém do tabulky v logické formě.
  • Vyberte buňku pro uložení každé proměnné.
  • Vytvořte v buňce vzorec pro výpočet cílového matematického modelu optimalizačního problému.
  • Vytvořte vzorce pro výpočet levé strany každého omezení.
  • Pomocí dialogů v Excelu sdělte Solveru rozhodovací proměnné, cíle, omezení a požadované hranice těchto parametrů.
  • Spusťte "Solver" a najděte optimální řešení.
  • Vytvořte excelový list.
  • Uspořádejte data pro problém v Excelu, kde se vypočítá vzorec pro účelovou funkci a omezení.

Ve výše uvedené tabulce byly buňky B4, C4, D4 a E4 vyhrazeny pro reprezentaci rozhodovacích proměnných X 1, X 2, X 3 a X 4. Příklady rozhodnutí:

  • Model produktového mixu (450 USD, 1150 USD, 800 USD a 400 USD zisk na produkt) byl zadán do buněk B5, C5, D5 a E5. To umožňuje vypočítat cíl v F5=B5B4 + C5C4 + D5D4 + E5E4 nebo F5:=SUMPRODUCT (B5: E5, B4: E4).
  • V B8 zadejte množství zdrojů potřebných k výrobě každého typu produktu.
  • Vzorec pro F8:=SUMPRODUCT(B8:E8, $B$4:$E$4).
  • Zkopírujte totovzorec v F9. Znaky dolaru v $B$4:$E$4 znamenají, že tento rozsah buněk zůstává konstantní.
  • V G8 zadejte dostupné množství zdrojů každého typu, odpovídající hodnotám omezení vpravo. To vám umožní vyjádřit je takto: F11<=G8: G11.
  • Toto odpovídá čtyřem limitům F8<=G8, F9 <=G9, F10 <=G10 a F11=0

Oblasti praktické aplikace metody

Lineární optimalizace má mnoho praktických aplikací jako příklad optimalizačního problému:

Společnost může vyrobit několik produktů se známou marží příspěvku. Výroba jednotky každého předmětu vyžaduje známé množství omezených zdrojů. Úkolem je vytvořit výrobní program, který určí, kolik každého produktu by se mělo vyrobit, aby zisk společnosti byl maximalizován bez porušení omezení zdrojů.

Problémy s mícháním jsou řešením optimalizačních problémů souvisejících s kombinováním přísad do konečného produktu. Příkladem toho je problém stravy, který studoval George Danzig v roce 1947. Uvádí se řada surovin, jako je oves, vepřové maso a slunečnicový olej, spolu s jejich nutričním obsahem, jako jsou bílkoviny, tuk, vitamín A, a jejich cena za kilogram. Úkolem je smíchat jeden nebo více konečných produktů ze surovin za nejnižší možné náklady při respektování minimálních a maximálních limitů pro jejich nutriční hodnotu.

Klasickou aplikací problému lineární optimalizace je určení směrování pro potřebyprovoz v telekomunikačních nebo dopravních sítích. Zároveň musí být toky směrovány sítí tak, aby byly splněny všechny požadavky na provoz bez porušení podmínek šířky pásma.

V matematické teorii lze lineární optimalizaci použít k výpočtu optimálních strategií ve hrách s nulovým součtem pro dva. V tomto případě se vypočítá rozdělení pravděpodobnosti pro každého účastníka, což je koeficient náhodného míchání jeho strategií.

Žádný úspěšný obchodní proces na světě není možný bez optimalizace. K dispozici je mnoho optimalizačních algoritmů. Některé metody jsou vhodné pouze pro určité typy problémů. Je důležité umět rozpoznat jejich vlastnosti a vybrat vhodnou metodu řešení.

Doporučuje: