< návrat zpět
MS Excel
Téma: max zisk
Zaslal/a oblivion 30.11.2015 11:08
Potreboval by som zistiť, či existuje nejaká ekonomická funkcia (postup v exceli, metóda), ktorá by zrátala maximalizáciu zisku jedným klikom.
Problém popíšem v nasledovnom:
Mám dva dni, (D1 a D2) pričom v každom dni, viem akú mám výrobnú kapacitu (Q1 a Q2). Túto výrobnú kapacitu viem pokryť 1, 2, alebo 3 pracovníkmi (P1, P2, P3). Viem, aké mám náklady v daných hodinách (N1 – N24) a viem aký zisk generujem (Z1 a Z24).
Komplikácia vzniká v nasledovnom:
X1 = X2
Produkt vo výrobnej kapacite Q1, môžem vyrobiť v D1 a časť produktov X1 (za náklady z D1 a predajnú cenu z D1) môžem predať v D1 (tým pádom, že výroba a predaj produktov nie sú rovné nule v D1, výrobná kapacita Q2 v D2 zodpovedá už iba produktom X1, ktoré som predal v D1). V D2 mám tým pádom výrobnú kapacitu Q2 zodpovedajúcu X1 a predám produkty o objeme X2 ( z Q2 za náklady Z D2 a predajnou cenou D2) a produkty z D1 v objeme X3 =Q1-X1 (za náklady z D1 a predajnou cenou z D2). Týmto spôsobom sa viem dopracovať k tomu, že presunom produktov viem získať rovnaký (resp. väčší celkový zisk) s menšími výrobnými kapacitami ako keby som zisk generoval samostatne v jednotlivých dňoch D1 a D2 (je to spôsobené tým že v D2 mám väčší zisk).
Výsledok by mala byť optimalizácia počtu pracovníkov a predajná kapacita, ktorá sa má presunúť do nasledujúceho dňa tak, aby som dosiahol max zisk.
Našiel som zatiaľ iba: http://vyuka-excelu.cz/navody/resitel-a-jeho-vyuziti/resitel-zakladni-pouziti/
Ale nerieši to môj problém.
Anonym(1.12.2015 14:12)#028430 V priebehu zajtrajška sa to pokúsim prepracovať, tak aby ma niekto nemohol obviť z toho, že som zverejnil firemné informácie.
citovat
lubo(1.12.2015 15:27)#028432 Vovka napsal/a:
Mimochodem, která ze simplexových metod je v Excelu použita? Dnes jsem se dočetl, že kromě originálního simplexu (1953-Denzil) a duálního simplexu (1954-Lai Muji) existuje i Downhill Simplex Method (1965-Nelder a Mead). O tom se nezmiňují ani na stránkách autora Řešitele, na www.frontline.com.
The Simplex LP Solving method uses the famous Simplex algorithm for linear programming, created by Dantzig in the 1940s. A dual Simplex method is used for integer programming subproblems.
http://www.solver.com/excel-solver-linear-programming
(Algoritmy v Excelu jsou zřídka mladší než 20-30 let.)
citovat
Vovka(2.12.2015 9:53)#028452 Jistě uznáte, že ten citát je mírně řečeno nepřesný. Roky 1940s nejsou rokem 1953, kdy to Denzil (ne Dantzig) publikoval. Navíc Denzilův Simplex Method umí pouze spojitá řešení a pro celočíselné problémy je nepoužitelný (to si zase pamatuji já ze školy). Pokud má optimum podle Denzila více realizací, jde zásadně o celou spojitou hranu mezi dvěma vrcholy konvexního polyedru přípustných řešení. Matematický dúkaz tohoto tvrzení jsme dokonce měli znát ke zkoušce z lineárního programování!
K "hladkým" a "nehladkým" úlohám podle terminologie Excelu: teď mne napadlo, jestli nejde o špatný český překlad pro termín spojitý/nespojitý. To už by nějaký smysl mohlo dávat.
Se stářím algoritmů v Excelu souhlasím. Z tohoto pohledu ale nic nebrání tomu, aby nebyl použit Downhill Simplex Method z roku 1965 (o kterém jsem do včerejška neměl ani tušení a o němž se ale popis z Excelu nezmiňuje). Ten by teoreticky mohl (???) umět pracovat i s celočíselnými podmínkami.
citovat
lubo(2.12.2015 10:45)#028456 Dotaz zněl, co je použito. Poslal jsem odkaz na dokumentaci od autorů. Detaily implementace se hledají dost těžko. Co se týká ostatního, tak znám pár variant, orientuji se v jejich použítí. Kdo a kdy co publikoval v hlavě nenosím. Pro běžného uživatele, který nezná rozdíl mezi LP a gradientními metodami, to není ani důležité.
https://en.wikipedia.org/wiki/Linear_programming
https://en.wikipedia.org/wiki/George_Dantzig
Co se týká hladkých a spojitých funkcí. Pokud se pamatuji, tak hladká funkce má spojitou derivaci, což se u spojité nevyžaduje. Pro numerickou optimalizaci jsou ty rozdíly u některých metod významné.
citovat
Vovka(2.12.2015 11:40)#028457 Zase jsem o něco chytřejší, pojem hladká a nehladká funkce jsem neznal (vaše vysvětlení ale dává smysl - viz např.lomené spojité funkce).
Každý zřejmě čerpáme z jiných informačních zdrojů (Denzel/Dantzig); z hlediska metody to je naprostý detail. Za detail ale nepokládám větu "A dual Simplex method is used for integer programming subproblems". Je-li slovo Integer míněno jako označení celočíselnosti, pak jde o desinformaci. Duální simplex přináší do původní simplexové metody velmi důležitý prvek, kterým je vyhledání nejvhodnějšího sousedního vrcholu na polyedru řešení. Nepřináší ale naprosto nic nového pro řešení celočíselnosti. Proto duální simplexová metoda (z roku 1954) celočíselné podmínky respektovat nedokáže.
citovat
Oblivion(2.12.2015 13:53)#028469 Vovka
Ako pripojím súbor. Prepracoval som ten excel. Alebo ho mám umiestniť na nejaké úložisko?
citovat
Vovka(2.12.2015 18:42)#028486 Na tomto fóru je zvykem sešit zkomprimovat (zip, rar) a přidat to jako přílohu (nezabalený sešit přiložit nelze).
citovat
Oblivion(3.12.2015 19:34)#028512 Nenašiel som spôsob akým by som pripol súbor, tak som to vyriešil tak, že som to nahral na úložisko:
http://ulozto.sk/x4HZzj3E/zosit55-xlsx
citovat
Vovka(4.12.2015 9:01)#028519 S lítostí musím sdělit, že ani po prohlídce listu s rozložením dat jsem nedokázal pochopit obsah a funkci předložené úlohy. Z toho zřejmě plyne, že nejsem schopen nic konstruktivního k této úloze nabídnout. Je mi to nemilé, ale bohužel je to tak.
citovat
Oblivion(4.12.2015 9:07)#028520 Ok, aj tak si to cením. Ďakujem za ochotu.
citovat