Kombinatorická optimalizace



Podobné dokumenty
DYNAMICKÉ PROGRAMOVÁNÍ A PROBLÉM BATOHU

Tabulka. Datová struktura, která umožňuje vkládat a později vybírat informace podle identifikačního klíče. Mohou být:

Modely diskrétní náhodné veličiny. Jiří Neubauer. Katedra ekonometrie, FVL, UO Brno kancelář 69a, tel

Logistické služby. Přehled logistických služeb Charakteristika logistických služeb Princip systému Kanban Systém zavedení a řízení logistiské služby

Západočeská univerzita v Plzni. Fakulta aplikovaných věd Katedra matematiky. Geometrie pro FST 1. Pomocný učební text

Řešení problému vážené splnitelnosti booleovské formule pokročilou iterativní metodou

Teoretická rozdělení

VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE. Optimalizace trasy při revizích elektrospotřebičů

Kapitola 11. Vzdálenost v grafech Matice sousednosti a počty sledů

Matice se v některých publikacích uvádějí v hranatých závorkách, v jiných v kulatých závorkách. My se budeme držet zápisu s kulatými závorkami.

Analýza rozptylu dvojného třídění

Jednotkové rozhodování v energetice

přirozený algoritmus seřadí prvky 1,3,2,8,9,7 a prvky 4,5,6 nechává Metody řazení se dělí:

Vodoznačení video obsahu

Seminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr

Problém batohu. Zdeněk Hanzálek ČVUT FEL Katedra řídicí techniky. 5. dubna 2011

ŘEŠENÍ PROBLÉMU LOKACE HUBŮ POMOCÍ GENETICKÉHO ALGORITMU SOLVING THE SINGLE ALLOCATION HUB LOCATION PROBLEM USING GENETIC ALGORITHM

Informační systémy pro podporu rozhodování

AUTOMATICKÁ SEKAČKA VÝZKUMNÁ ZPRÁVA

STUDIUM HLADINOVÉHO ELEKTROSTATICKÉHO

Minkowského operace a jejich aplikace

1. Úvod do genetických algoritmů (GA)

Úvod do mobilní robotiky AIL028

Vyzařování černého tělesa, termoelektrický jev, závislost odporu na teplotě.

N-trophy. kvalifikace KVÍK! Soòa Dvoøáèková - Kristýna Fousková - Martin Hanžl. Gymnázium, Brno-Øeèkovice.

TZB - VZDUCHOTECHNIKA

Rozpoznávání captcha obrázků

Semestrální práce z předmětu m6f. 2 test dobré shody

NÁVRH LQG ŘÍZENÍ PRO FYZIKÁLNÍ MODEL KULIČKY NA TYČI

ADVANTA group.cz Strana 1 ze 40. Popis řešení Řízení IT projektů. group.cz

Měření indexu lomu kapaliny pomocí CD disku

Optimalizační algoritmy inspirované chováním mravenců

Úloha č. 8 Vlastnosti optických vláken a optické senzory

1. Alternativní rozdělení A(p) (Bernoulli) je diskrétní rozdělení, kdy. p(0) = P (X = 0) = 1 p, p(1) = P (X = 1) = p, 0 < p < 1.

Ing. Ladislav Musil ČVUT FEL v Praze, Katedra Elektroenergetiky, Technická 2, Praha 6 Tel.: musill@fel.cvut.

Netlumené kmitání tělesa zavěšeného na pružině

KDE ZAČÍNÁ BOHATSTVÍ?

Intervalové stromy. Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme. 1. Změna jednoho čísla v posloupnosti.

Pravidla a seznam zadavatelů. systému sdruženého nákupu. statutárního města Ostrava

BAKALÁŘSKÁ PRÁCE. Numerické metody jednorozměrné minimalizace

Metodika. Architecture First. Rudolf Pecinovský

Výtok kapaliny otvorem ve dně nádrže (výtok kapaliny z danaidy)

plynu, Měření Poissonovy konstanty vzduchu

Experimentální hodnocení kvality algoritmů

Signálové a mezisystémové převodníky

SPIRIT Nové funkce. SOFTconsult spol. s r. o., Praha

K výsledkům průzkumu zaměřeného na kvalitu podnikové informatiky

Determinant. Definice determinantu. Permutace. Permutace, vlastnosti. Definice: Necht A = (a i,j ) R n,n je čtvercová matice.

Využití simplexového algoritmu v projektování výroby

VÝUKA OBECNÝCH METOD ANALÝZY LINEÁRNÍCH OBVODŮ

JICH APLIKACE FAKULTA INFORMAČNÍCH TECHNOLOGIÍ BRNO UNIVERSITY OF TECHNOLOGY FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS

6 NÁVRH A EXPERIMENTÁLNÍ OVĚŘENÍ ELEKTROMAGNETICKÉHO AKTUÁTORU. František MACH

PŘIJÍMACÍ TEST z informatiky a matematiky pro navazující magisterské studium Fakulta informatiky a managementu Univerzity Hradec Králové

Vyplňování souvislé oblasti

Clemův motor vs. zákon zachování energie

Implementace A* algoritmu na konkrétní problém orientace v prostoru budov

Fyzikální sekce přírodovědecké fakulty Masarykovy univerzity v Brně FYZIKÁLNÍ PRAKTIKUM. Fyzikální praktikum 2

Výrobní firmy po krizi

Umělá inteligence I. Roman Barták, KTIML.

LBP, HoG Ing. Marek Hrúz Ph.D. Plzeň Katedra kybernetiky 29. října 2015

Teplota, [ C] I th, [ma] a, [V/mA] 7 33,1 0, ,3 0, ,5 0, ,5 0, ,7 0, ,9 0,15

Skalární součin je nástroj, jak měřit velikost vektorů a úhly mezi vektory v reálných a komplexních vektorových prostorech.

MATEMATIKA základní úroveň obtížnosti

Srovnání SRM s Flynnovým motorem

Zdravotní důsledky a rušivé účinky hluku

ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE. Teze diplomové práce

Zvyšování výkonnosti firmy na bázi potenciálu zlepšení

Poznámky k předmětu Aplikovaná statistika, 9.téma

Návrhy témat dlouhodobých maturitních prací třídy S4 ve šk. r. 2015/2016

Aplikovaná numerická matematika

Další aspekty architektur CISC a RISC Aktuálnost obsahu registru

Projekt IMPLEMENTACE ŠVP. pořadí početních operací, dělitelnost, společný dělitel a násobek, základní početní operace

Řešení problému batohu dynamickým programováním, metodou větví a hranic a aproximativním algoritmem

MI-PAA. úkol č.3. Řešení problému batohu dynamickým programováním, metodou větví a hranic a aproximativním algoritmem

Server Internetu prostøednictvím slu eb (web, , pøenos souborù) poskytuje data. Na na í pracovní stanici Internet

Server Internetu prostøednictvím slu eb (web, , pøenos souborù) poskytuje data. Na na í pracovní stanici Internet

Minkowského operace. Použití. Světlana Tomiczková. Rozmisťování Robot Motion Planning Offset Optics. Pojmy:

ČVUT FEL X36PAA - Problémy a algoritmy. 4. úloha - Experimentální hodnocení algoritmů pro řešení problému batohu

Pojem architektura je převzat z jiného oboru lidské činnosti, než počítače.

Metody operačního výzkumu cvičení

ALGORITMY ŘÍZENÍ TOPNÉHO ČLÁNKU TEPELNÉHO HMOTNOSTNÍHO PRŮTOKOMĚRU

Neuropočítače. podnět. vnímání (senzory)

2 Trochu teorie. Tab. 1: Tabulka pˇrepravních nákladů

8. Posloupnosti, vektory a matice

IB108 Sada 1, Příklad 1 Vypracovali: Tomáš Krajča (255676), Martin Milata (256615)

KRITICKÁ MÍSTA V TECHNOLOGICKÉM PROCESU PŘÍLEŽITOSTNÉ OSOBNÍ SILNIČNÍ DOPRAVY

Zadání projektů z BPC2 pro letní semestr 2007/2008

Katedra informatiky, Univerzita Palackého v Olomouci. 27. listopadu 2013

ČSN EN ed. 2 OPRAVA 1

6. T e s t o v á n í h y p o t é z

Základy elektrostatiky v pokusech (Coulombův zákon, kondenzátor)

Tomáš Karel LS 2012/2013


Úloha I.E... tři šedé vlasy dědy Aleše

ANALYTICKÉ PROGRAMOVÁNÍ

Procesy. Procesy Přepínání kontextu (proc_ctxsw) Postup:

1.1 Typy úloh LP. Klíčová slova: úlohy LP, formulace modelu. 1. Formulace ekonomického modelu.

přetrénování = ztráta schopnosti generalizovat vlivem přílišného zaměření klasifikátorů na rozeznávání pouze konkrétních trénovacích dat

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA STAVEBNÍ VÝZKUMNÁ ZPRÁVA STABILITA VYBRANÝCH KONFIGURACÍ KOLEJOVÉHO SVRŠKU

. Opakovací kurs středoškolské matematiky podzim 2015

Transkript:

České Vysoké Učení Technické v Praze Fakulta Elektrotechnická Kombinatorická optimalizace Petr Kubašta Dvojrozměrný řezný problém Praha, 2012

1 Zadání Firma zabývající se výrobou dětských hraček řeší problém, jak z polystyrenové desky vyřezat co nejvíce kostiček z jejich sortimentu. Pro zadané množství kostiček je potřeba vytvořit řezný plán, který bude minimalizovat počet použitých desek a tedy odpad. Materiál desky je obráběn cirkulární pilou. Polystyrenová deska má rozměry 100x60 cm. Sortiment kostiček je množina {60x15, 30x15, 15x15, 20x10}. 2 Kategorizace problému Úloha spadá do úloh o dělení 2D plochy, kde plocha je pravoúhlá, objekty na které se má plocha rozdělit jsou také pravoúhlé a jejich orientace je n π 2, n Z. Dále se předpokládá, že cirkulární pila provádí řezy přes celou plochu. V anglické literatuře se to často nazývá jako takzvaný Two-Dimensional bin packing problem nebo pro nás důležitější modifikace Two-Dimensional Cutting Stock Problem. Ve dvojrozměrném řezném problému je dána množina n pravoúhlých položek, každá položka má svoji šířku wi a výšku hi i {1..n} a existuje nekonečné množství pravoúhlých desek s šířkou W a výškou H. Problém je naskládat položky do minimálního počtu desek. Položky se nesmějí překrývat, mají fixní orientaci. 3 Související práce Úloha je modifikací klasického řezného. Problém lze řešit v různých modifikacích. Do roku 1991 identifikoval Sweeney a Paternoster [4] přes 500 článků zabývajících se nějakou modifikací nebo aplikací tohoto problému. První model pro dvojrozměrný řezný problém navrhl Gilmore a Gomory [2], kteří rozšířili jejich metodu používanou pro 1D variantu, metoda je založena na dynamickém programování. Dvou rozměrný problém je zde řešen jako dvoufázový jednorozměrný problém. Deska je nejprve rozdělena na pruhy a poté jsou pruhy rozděleny na požadované položky. Další významnou prací je práce J. E. Beasleyho [1], který navrhl několik algoritmů založených vesměs na dynamickém programování. Beasley v této práci řeší i rozdělení řezání na různý počet fází (stages). Fáze 1

je charakteristická směrem řezu, ten může být vertikální nebo horizontální. A platí, že každé dvě následující fáze jsou na sebe kolmé, příklad 3 - fázového dělení je na obrázku 1. Obrázek 1: Ukázka 3- fázového řešení problému [3] Puchinger a Raidl [3] uvedli dva polynomiálně velké ILP modely pro tří fázový 2D-BPP ( 2D- bin packing problem). Původní a omezený model. Omezený model dává rychle skoro optimální výsledky, zato původní model je časově mnohem náročnější. 4 Popis algoritmů V následujících odstavcích budou popsány některé heuristické algoritmy, řešící tento problém. Tyto algoritmy umisťují požadované položky na desku, jednu po druhé. Mezi nejpopulárnější algoritmy patří: next-fit, best-fit. Algoritmy přidávají položky z leva do prava, položky jsou přidávány na jednotlivé výškové úrovně. Výška úrovně odpovídá horizontální čáře, která splývá s nejvyšší položkou umístěnou na předchozí úrovni. V 2

popisu algoritmů předpokládejme, že výběr položky pro umístění je realizován podle nerostoucí výšky. Jinými slovy, nejprve umisťujeme položky s vyšší výškou. Next-Fit (snižující se výška): Položka je zarovnána vlevo, pokud to jde, pokud to nejde, je vytvořena další úroveň a položka je umístěna tam. Best - Fit (snižující se výška): Položka je zarovnána vlevo, kontrola možnosti zarovnání probíhá od první do poslední úrovně. Pokud je v nějaké úrovni dostatek horizontálního prostoru, položka je do této úrovně umístěna, jinak je vytvořena nová úroveň. a) Po provedení Next-Fit b) Po provedení Best-Fit Obrázek 2: Ukázka výsledků heuristických algoritmů Obrázek 2, ukazuje výsledné uspořádání po průběhu jednotlivých algoritmů. Výhodou těchto algoritmů je, že z principu splňují omezení, při kterém jsou jednotlivé řezy prováděné od jedné strany materiálu ke druhé (tzv. guillotinable). Nevýhodou může být, že při nevhodném rozložení rozměrů jednotlivých položek nemusí být řešení moc dobré. V další části naznačíme postupy používající lineární programování. V literatuře mlčky předpokládají výchozí Gilmore-Gomoryho model. Tento model lze obecně vyjádřit následovně rovnicemi: 3

Min: j J 0 λ 0 j s.a. : M λ = 0 M λ B λ 0 J 0... množina validních řezných vzorů λ 0 j... j-tý řezný vzor přiřazený k první fázi λ S j... j-tý řezný vzor přiřazený k s-té množině řezných vzorů druhé fáze λ : (λ 0 1,..., λ 1 1,..., λ m 1,...) T B : (b 1,..., b m ) T... vektor požadovaného množství jednotlivých elementů M 0, M S... submatice možných řezných vzorů pro první fázi a s-tou množinu druhé fáze Při případném použití Gilmore - Gomoryho modelu, zůstává otevřenou otázkou jaký postup použít pro generování možných řezných vzorů. Tento problém se ještě nepodařilo ideálně vyřešit. 5 Popis implementace K implementaci byl vybrán algoritmus Best-Fit. Tento algoritmus se z výše zmiňovaných jeví jako rozumná volba. Avšak v extrémních případech se může chovat poměrně neoptimálně, pro částečnou eliminaci těchto případů byla vyvinuta unikátní heuristika, tak zvané statistické rotace a další postupy, které budou uvedeny v následujících odstavcích. 5.1 Heuristika statistické rotace Problémem základního algoritmu Best-Fit je, že explicitně neřeší natočení obdélníku, které skládá do binu. Skládá pouze obdélníky, za sebou 4

podle nerostoucí výšky. Problém se objeví, pokud algoritmu dodaný bin je silně asymetrický a jeho výška je hodně rozdílná, než výška ostatních binů. Tento jev vystihuje obr 3 a). Jak je vidět, červeně vyznačené plocha, už nebude nikdy použita. Pokud by ovšem byl element 1 otočen o Π 2, žádná nevyužitelná plocha by nevznikla. Výsledek této modifikace ukazuje obrázek 3 b). a) Bez statistické rotace b) Se statistickou rotací Obrázek 3: Ukázka výsledků algoritmu Best-Fit Tento problém, lze řešit apriorní rotací. Před seřazením elementů podle výšky spočítáme modus M ze všech výšek a všech délek všech instancí jednotlivých elementů. Poté každý jednotlivý element natočíme, tak abychom minimalizovali odchylku od M. Tuto rotaci lze obecně vyjádřit následovně. h i = h i w i = w i pokud M h i < M w i w i = h i h i = w i pokud M h i > M w i pro všechny elementy Takto minimalizujeme odchylky od Modu. Jinými slovy, jednotlivé hladiny, budou pravděpodobněji podobně vysoké. 5.2 Modifikovaný algoritmus Best-Fit Implementovaný modifikovaný algoritmus lze obecně popsat následujícím způsobem: 5

Algoritmus 1: modifikovaný BEST-FIT Vypočítá řezný plán, s minimalizací odpadu. 1: Spočítej modus rozměrů 2: Proveď statistickou rotaci 3: Uspořádej prvky do nerostoucí posloupnosti podle výšky 4: Proveď klasický Best-fit 5: Proveď klasický Best-fit s binem otočeným o π 2 6: Vygeneruj řezný plán, pro případ natočení binu, při kterém je odpad menší z řádku 4 a 5 Bylo zjištěno, že velikost výsledného odpadu, záleží v některých případech i na natočení binu, tuto nepříjemnost eliminují řádky 4 a 5 algoritmu 1, které v implementaci běží směle ve dvou vláknech. 6 Experimenty 6.1 Měření časové a paměťové náročnosti implementace V této části se zaměříme především na kvantitativní experimenty týkající se časové a paměťové složitosti. Nutno podotknout, že měření byla prováděna pouze jednou, či-li mají vysokou nejistotu, naměřené hodnoty nebereme tedy jako bernou minci, ale mají spíše informativní charakter o průběhu, který lze aproximovat regresní funkcí. Dále je nutné podotknout, že měření paměti a času probíhalo v samostatných experimentech, ač výsledky budou prezentovány pro přehlednost společně. Cíl experimentu: Změřit časovou a paměťovou náročnost implementace modifikovaného algoritmu Best-Fit. Schéma experimentu: V experimentu se bude zvyšovat počet elementů a ke každému počtu elementů bude změřena doba běhu a velikost naalokované paměti. Měření času a paměti probíhá v oddělených bězích, aby se navzájem neovlivňovala. 6

Naměřené výsledky: Tabulka 6.1 dává základní představu o běhu pro jednotlivé počty instancí. Globální představu pak dávájí grafy na obrázcích 4 a 5. Počet prvků Doba běhu Naalokovaná paměť [ks] [ms] [kb] 1 000 40 190 20 000 136 1 223 50 000 1 055 2 885 100 000 20 525 5 579 150 000 59 921 8 300 500 000 806 081 27 541 Tabulka 1: Výsledky měření Obrázek 4: Změřená časová složitost Obrázek 5: Změřená paměťová složitost 7

Na grafech je dále patrné, že časová složitost se dá aproximovat kvadratickou regresní fukcí a paměťovou složitost lze aproximovat přímkou. Zhodnocení experimentu: Měření dokázalo, že Best-Fit má kvadratickou časovou a lineární paměťovou složitost. Konkrétně v našem případě lze v historicky krátkém čase vyřešit instance řádu statisíce kusů. Výsledek pro 500 000 ks lze získat přibližně za 14 minut. Na paměťové limitace jsme nenarazili. 6.2 Měření kvality řešení pro reálné instance - modifikovaná a nemodifikovaná verze Tento experiment si klade za cíl ověřit kvalitu řešení pro reálné instance problému. Měřítkem kvality řešení bude vyprodukované procento odpadu. porovnáme klasický přístup s modifikovaným přístupem. Cíl experimentu: Změřit kvalitu řešení, vyprodukované procento odpadu. Porovnat klasický Best-Fit s naším vylepšeným Best-Fitem. Schéma experimentu: Pro desku s rozměry 100x60 a elementy z množiny {60x15, 30x15, 15x15, 20x10} budeme náhodně generovat množství jednotlivých elementů a vyhodnocovat vzniklý odpad. Množství jednotlivých elementů je v rozmění 1000-5000 ks, počty elementů typu 60x15 jsou desetinové. Bude změřeno 10x1000 výpočtů a spočítán průměrný procentuální odpad. Naměřené výsledky: Modifikovaný Klasický [%] [%] 0.165 2.933 Tabulka 2: Průměrný odpad v % 8

Nejistota měření typu A u modifikovaného algoritmu:u a = 0.0024% Nejistota měření typu A u klasického algoritmu:u a = 0.045% Zhodnocení experimentu: Experiment ukázal, že jednoduchá úprava algoritmu, která je prakticky zadarmo zlepší řešení o více než 2.5% odpadu. 6.3 Závěr experimentů: Experimenty dokázaly, že algoritmus je zhusta použitelný. Naše modifikace zlepšila na požadovaných instancích řešení. Avšak byly provedeny i experimenty s náhodně generovanými rozměry elementů, v těchto experimentech je naše řešení (unikátní heuristika statistické rotace) také lepší, nikoli však tak markantně a v podstatě je srovnatelné s klasickým Best-Fit. Úloha se nám povedla a měření se nám líbilo. 9

Reference [1] Beasley,J.E.: Algorithms for unconstrained two-dimensional guillotine cutting. Journal of the Operational Research Society 36, 1985. [2] Gilmore,P.C.; Gomory,R.E.: Multistage cutting stock problems of two and more dimensions. Operation research 13:94-120, 1965. [3] Puchinger; Raidl: Models and algorithms for three-stage two-dimensional bin packing. European Journal of Operational Research, 127(3):1304-1327, 2007. [4] Sweeney,P.E.; Paternoster,E.R.: Cutting and packing problems: An updated literature review. Working Paper No. 654, University of Michigan, School of Business, 1991. 10