Dopravní problém ( Monge-Kantorovich problém ) je matematický problém lineárního programování speciálního druhu. [1] [2] Lze na ni nahlížet jako na problém optimálního plánu přepravy zboží z místa odeslání do místa spotřeby s minimálními náklady na přepravu.
Podle teorie výpočetní složitosti je problém transportu zařazen do třídy složitosti P . Pokud se celkový objem nabídek (zboží dostupné na výchozích místech) nerovná celkovému objemu poptávky po zboží (zboží) požadovaných odběrnými místy, dopravní problém se nazývá nevyrovnaný ( otevřený ).
Dopravní problém (klasický) je problém optimálního plánu přepravy homogenního produktu z homogenních míst dostupnosti do homogenních míst spotřeby na homogenních vozidlech (předem stanovené množství) se statickými daty a lineárním přístupem (to jsou hlavní podmínky problém).
U klasické přepravní úlohy se rozlišují dva typy úloh: nákladové kritérium (dosažení minima přepravních nákladů) nebo vzdálenosti a časové kritérium (minimální čas strávený přepravou). Pod názvem transportní úloha je definována široká škála úloh s jediným matematickým modelem, tyto úlohy souvisejí s úlohami lineárního programování a lze je řešit optimální metodou. Speciální metoda pro řešení dopravního problému však může jeho řešení výrazně zjednodušit, protože dopravní problém byl vyvinut za účelem minimalizace nákladů na přepravu.
Homogenní náklad je koncentrován u dodavatelů v objemech . Tento náklad musí být spotřebitelům dodán v objemech . - náklady na dopravu zboží od dodavatele ke spotřebiteli . Je nutné vypracovat plán přepravy, který vám umožní kompletně exportovat produkty všech výrobců, plně uspokojí potřeby všech spotřebitelů a poskytne minimální celkové náklady na dopravu. Označte jako objem přepravy od dodavatele ke spotřebiteli . [3]
, ,Problém poprvé formalizoval francouzský matematik Gaspard Monge v roce 1781 [4] . Pokroku v řešení problému dosáhl během Velké vlastenecké války sovětský matematik a ekonom Leonid Kantorovich [5] . Proto se tento problém někdy nazývá dopravní problém Monge-Kantorovich .
Klasický transportní problém lze řešit simplexní metodou , ale vzhledem k řadě vlastností jej lze řešit jednodušeji (pro úlohy malých rozměrů).
Podmínky problému jsou umístěny v tabulce, do buněk se zadává množství nákladu přepravovaného z do nákladu a v malých buňkách odpovídající tarify .
Je třeba stanovit základní plán a pomocí postupných operací najít optimální řešení. Referenční plán lze nalézt následujícími metodami: "severozápadní roh" , "nejmenší prvek" , dvojitá preference a Vogelova aproximace .
Metoda severozápadního rohu (diagonální nebo vylepšená)V každé fázi je levá horní buňka zbytku tabulky vyplněna maximálním možným počtem. Plnění takovým způsobem, aby byl náklad zcela odstraněn nebo aby byla zcela uspokojena potřeba .
Metoda nejmenších prvkůJedním ze způsobů, jak problém vyřešit, je metoda minimálního (nejmenšího) prvku . Jeho podstata spočívá v minimalizaci bočního přerozdělování zboží mezi spotřebitele.
Algoritmus:
Po nalezení základního plánu dopravy je třeba použít jeden z algoritmů pro jeho vylepšení, přibližující se optimálnímu.
Uvažujeme bipartitní graf , ve kterém jsou výrobní místa v horní části a místa spotřeby v dolní části. Místa výroby a spotřeby jsou ve dvojicích propojena hranami nekonečného výkonu a ceny za jednotku toku .
Zdroj je uměle připojen k hornímu laloku . Kapacita hran od zdroje ke každému bodu výroby se rovná zásobě produktu v tomto bodě. Cena za jednotku toku těchto hran je 0.
Podobně se k dolnímu laloku připojuje drenáž . Propustnost žeber z každého místa spotřeby do dřezu se rovná poptávce po produktu v tomto bodě. Cena za jednotku toku pro tyto hrany je také 0.
Dále je vyřešen problém nalezení maximálního toku minimálních nákladů ( mincost maxflow ). Jeho řešení je podobné hledání maximálního průtoku ve Ford-Fulkersonově algoritmu . Pouze místo nejkratšího doplňkového toku se hledá ten nejlevnější. V souladu s tím tato dílčí úloha nepoužívá prohledávání do šířky , ale Bellman-Fordův algoritmus . Když je stream vrácen, náklady jsou považovány za záporné.
Algoritmus "mincost maxflow" lze spustit okamžitě - bez nalezení základní linie. Ale v tomto případě bude proces rozhodování poněkud delší. Provádění algoritmu „mincost maxflow“ neprobíhá více než operacemi. ( je počet hran, je počet vrcholů.) U náhodně vybraných dat je obvykle potřeba mnohem méně – pořadí operací.
Při řešení nevyváženého dopravního problému se používá technika k jeho vyvážení. Chcete-li to provést, zadejte fiktivní destinace nebo odlety. Implementace bilance transportního problému je nezbytná k tomu, aby bylo možné aplikovat algoritmus řešení založený na použití transportních tabulek.
V této variantě se body nedělí na výchozí a odběrná, všechny body jsou si rovny, ale výroba je dána kladným číslem a spotřeba záporným. Přeprava se provádí na dané síti, ve které mohou oblouky spojovat libovolné body, včetně výrobce-výrobce, spotřebitel-spotřebitel.
Problém je řešen mírně upravenou metodou potenciálů , prakticky stejnou jako klasické nastavení.
Varianta transportního problému v síťovém nastavení, ve kterém je specifikována maximální propustnost některých oblouků.
Problém je řešen mírně komplikovanou metodou potenciálů .
Varianta přepravního úkolu, ve kterém je několik produktů (body mohou vyrobit/spotřebovat několik produktů). Pro některé oblouky je nastaven limit propustnosti (bez tohoto limitu se úloha rozdělí na samostatné úlohy podle produktu).
Problém je řešen simplexovou metodou (používá se Danzig -Wulfova expanze, jako dílčí úkoly jsou použity transportní úlohy jednoho produktu).