S tímto tématem se setkáte na našich kurzech ExcelTown.
Aktuálně: kurzy můžete absolvovat jak online, tak prezenčně.

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:
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.

S tímto tématem se setkáte na našich kurzech ExcelTown.
Aktuálně: kurzy můžete absolvovat jak online, tak prezenčně.

3 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.

  2. Odpověd pro Petra. Pokud zadáš jen těch 7 tyčí tak to do nich dokáže spočítat. Asi to chce přidat nějakou zatím mne nenapadlo jakou podmínkou to ošetřit. Spíš je záhada že to excel sám nespočítá

  3. Dobrý den,
    Můžete prosím poradit jak toto tabulku rozšířit o počet variant. Stále stím bojuji protože nejde změnit množina buněk hterá se rovná = CELÉ_ČÍSLO (původně je $B$2:$G$11 = CELÉ_ČÍSLO pořebuji změnit na např $B$2:$U$11 = CELÉ_ČÍSLO)

    Děkuji

Komentáře není možné přidávat