Vytvoření řezného plánu je docela zajímavá logická úloha. Na nedávné konzultaci jsme ji řešili s jedním zákazníkem, a vzešlo z toho jednoduché, nicméně vcelku funkční řešení, které by byla škoda nepublikovat.

Co je to řezný plán

Představte si, že máte tyče (dráty, prkna...) o určité délce (třeba 600 cm). A potřebujete z nich nařezat určité kusy (např. 2 x 230 cm, k tomu 1 x 30 cm, k tomu...) Pak je otázka, jak kusy rozvrhnout na jednotlivé tyče tak, abyste mohli koupit co nejméně tyčí. Jinými slovy aby vám toho po nařezání zbylo co nejméně. Je-li tyčí a kusů málo, je to hračka. Je-li jich hodně, je to běžnými výpočty prakticky neřešitelné.

Jak řešit v Excelu

Soubor je ke stažení zde:
Pro řešení použijeme doplněk Řešitel / Solver, ale ne úplně typickým způsobem.
V tomto návodu nechci vysvětlovat princip Řešitele, takže jen ve zkratce.

Příprava tabulky

1) Zadám délky tyčí (světle zelená oblast)
2) Zadám, kolik a jak dlouhých kusů chci nařezat (žlutá oblast)
3) V šedých buňkách bude řešitel dosazovat počty skutečně nařezaných kusů z určité tyče
Na ostatní výpočty se podívejte do vzorečků přímo v souboru - není tam nic složitého, méně známá je snad jen funkce SUMPRODUCT.
Optimalizuji (v tomto případě minimalizuji) buňku A17 - počet skutečně spotřebovaných (nebo přinejmenším načatých) tyčí.
(Obrázek můžete kliknutím zvětšit)
řezný plán nevyřešený

Nastavení řešitele

Takto nastavím řešitele:
řezný plán nastavení řešitele
  • Podmínky říkají, že řádek 13 a 14 obsahují stejné hodnoty (nařezám tolik kusů, kolik jsem chtěl) a sloupec H musí být stejný nebo menší než sloupc A (součet délek všech kusů nařezaných ze jedné tyče nemůže být delší než délka tyče). Navíc počty nařezaných kusů musí být, logicky, celá čísla.
  • Vybral jsem model Evolutionary (simplexovou tabulku nemohu použít protože se nejedná o lineární programování).

Výsledek

Spustím Řešitele, ten chvilku přemýšlí, a pak vyhodí třeba toto řešení:
řezný plán vyřešený
Budou použité čtyři tyče - ty, u kterých je jednička v pravém sloupci (u mě, kde jsou všechny tyče stejně dlouhé, je samozřejmě jedno, kterou konkrétní použiji - jde jen o počet).
V šedé oblasti pak jsou počty konkrétních kusů, které z dané tyče nařežu.
Pokud máte nějaké robustnější excelové řešení řezného plánu, budu rád, když o něm napíšete do diskuse.

1 Komentář

  1. Nemám síce riešenie rezného plánu, ale narazil som na malú chybičku. V stĺpci A som zadal všetky tyče rovnako dlhé 1200,B12-400, B13-3, C12-300, C13-9, D12-100, D13-36, E12-450, E13-2. Po prepočítaní RIEŠITEĽOM, na moje prekvapenie, bolo použité o jednu tyč viac t.j. 8.Tú som našiel v stĺpci I v zbytkoch tyče (800, 300, 100).
    Počítajte so mnou. B-400*3=1200 – 1 TYČ.C-300*8=2400 – 2 TYČE.D-100*36=3600-3 TYČE, E-450*2=900+(C-300*1)=1200 – 1 TYČ. Podľa mojich výpočtov spotrebujem 7ks 1200cm tyčí.
    Toto nie je mienené ako kritika,len chcem upozorniť na drobnosť, ktorá tvorcovi, v inak super programe, unikla.

Napsat komentář

Vaše emailová adresa nebude publikována.

smazat formulářOdeslat komentář