• No se han encontrado resultados

ESTRATEGIAS DESARROLLADAS POR COOMEVA PARA MANTENERSE EN EL MERCADO COMO UNA EMPRESA EXITOSA

Abstrakt

Job shop rozvrhovací problém patrí do skupiny NP – úplných optimalizačných problémov. Cieľom tohto príspevku je použitie optimalizácie rojenia častíc (PSO) pre riešenie job shop rozvrhovacích problémov. Pôvodný PSO algoritmus bol použitý na riešenie spojitých optimalizačných problémov. Vzhľadom na diskrétny priestor hľadania rozvrhovacích problémov musíme modifikovať reprezentáciu rojenia častíc, pohyb častíc a rýchlosť pohybu častíc.

Kľúčové slová: job shop, optimalizácia rojenia častíc (PSO), reprezentácia rojenia častíc,

pohyb častíc, rýchlosť pohybu častíc

Abstract

The job shop scheduling problem (JSP) is one of the most NP-complete optimization problems. The aim of this paper is to construct a particle swarm optimization (PSO) for an elaborate job-shop scheduling problem. The original PSO was used to solve continuous optimization problems. Due to the discrete solution spaces of scheduling optimization problems, we have modified the particle position representation, particle movement, and particle velocity.

Keywords: job shop, particle swarm optimization (PSO), particle position representation,

particle movement, and particle velocity

ÚVOD

Začiatky štúdia problematiky job shop rozvrhovacích problémov sa datujú približne do 50-tych rokov 20-teho storočia. Podnetom bol rozvoj oblastí ako operačný výskum, priemyselné inžinierstvo a manažment, ktoré sa museli efektívne vysporiadať s narastajúcimi nárokmi vo svojom pracovnom prostredí.

Job shop rozvrhovací problém je považovaný za obzvlášť NP – ťažký1 kombinatorický problém (Garey, Johnson, & Sethi, 1976) a považuje sa za jeden z výpočtovo najzložitejších v matematike. Napr., ak sa náš problém skladá z n úloh, potom každý stroj musí spracovať n operácii, t.j. počet všetkých možných usporiadaní operácii na jednom stroji je n!. Ak počet

1 NP ťažká úloha je úloha, pre ktorú sa doteraz nepodarilo nájsť ponynomiálny algoritmus. Nepodarilo sa však

ani dokázať, že tento polynomiálny algoritmus neexistuje. Nájdenie takéhoto algoritmu pre jedinú zo stoviek NP – ekvivalentných úloh by znamenalo existenciu polynomiálneho algoritmu pre všetky ostatné. Niekedy sa termín NP-ťažká úloha používa aj pre optimalizačnú verziu NP-úplnej úlohy.

permutácii pre každý stroj je n!, potom počet všetkých rozvrhov bude

( )

m

n! . V reálnej praxi je

ťažké riešiť optimalizačné problémy alebo niekedy je až nemožné nájsť riešenie v akceptovanom výpočtovom čase. Tieto problémy môžeme riešiť pomocou metaheuristík,

napr. genetické algoritmy, rojenie častíc, atď.

1. JOB SHOP SYSTÉM

Job shop systémy (Jm) sú systémy rozvrhovania m operácii, ktoré sú vykonávané na n sériovo radených obslužných objektoch (strojoch) s rovnakým poradím operácií v rámci danej úlohy. Jednotlivé úlohy sú vykonávané ľubovoľným poradím prechodu operácii s cieľom minimalizovať hodnotu nákladovej funkcie f. Prípustným rozvrhom je taký rozvrh, v ktorom sa operácie pre každú úlohu vykonávajú v určenom poradí a kde žiadne dve operácie neobsadzujú ten istý stroj v jednom časovom okamžiku a na žiadnej úlohe sa nevykonávajú dve operácie naraz. Pre job shop problémy platia nasledujúce podmienky (Unčovský, 1991):

• Všetky operácie a všetky obslužné objekty sú k dispozícii od okamihu nula. • Operácie sú vzájomne nezávislé.

• Doby trvania operácie sú nezávislé na poradí vykonania operácie. • Jednotlivé operácie nie možné prerušiť.

2. ROJENIE ČASTÍC (PARTICAL SWARM )

Algoritmus patrí medzi tzv. inteligentný swarm (z angl. Swarm intelligence)2 a je

založený na pozorovaní kŕdľoch vtákov, húfov rýb alebo roje včiel a dokonca aj ľudského spoločenského správania z ktorej inteligencia vyplýva. Algoritmus sa podobá evolučným technikám, ako sú napr. optimalizácia kolóniou mravcov a genetické algoritmy. Vzťah medzi rojom a časticami je podobný ako medzi populáciou a chromozómami v genetických algoritmoch. V oboch prípadoch ide o samo organizujúce systémy vykazujúce silné kolektívne chovanie. Systém je inicializovaný populáciou náhodných riešení a hľadá optimá pre rôzne možnosti generácii. Na rozdiel od genetických algoritmov, rojenie častíc nemá žiadny evolučný operátor na kríženie alebo mutáciu. V tomto algoritme, každá častica populácie má prispôsobiteľnú rýchlosť (zmena pozície), podľa ktorej sa pohybuje v priestore hľadania a pamäť, ktorá si pamätá najlepšiu pozíciu pre daný priestor hľadania. Spoločným prvkom oboch algoritmov je, že obe používajú hodnotu fitness.

Pri algoritme rojenia častíc sa potenciálne riešenia nazývajú častice (z angl. particles)3. Pozícia častice je ovplyvnená najlepšou pozíciou, ktorú sama navštívila (t.j. vlastné skúsenosti) a od pozície najlepšej častice vo svojom okolí (napr. skúsenosti iných častíc). Ak sa používa menšie okolie, potom algoritmus je lbest (local best), t.j. nedochádza medzi jedincami k vzájomnému ovplyvňovaniu. Keď okolie častíc je zložené z celého roja (swarm), potom najlepšia pozícia v celom okolí sa nazýva globálne najlepšia častica a výsledný algoritmus sa nazýva gbest (global best). V tomto modeli je zavedené susedstvo, v rámci ktorého sa už jedinci vzájomne ovplyvňujú tak, že jedinci, ktorí patria do tohto susedstva putujú k najväčšiemu možnému extrému, ktorý sa v tomto susedstve nachádza. Výkonnosť jednotlivých častíc (napr. ako blízko je častica od globálneho optima) sa meria použitím fitness, ktorá sa líši v závislosti od optimalizačného problému.

2.1 Pôvodný PSO algoritmus (Particle Swarm Optimalisation)

Pôvodný PSO algoritmus je založený na množine (swarm) častíc prechádzajúcich d – dimenzionálnym vyhľadávacím priestorom. Každá častica reprezentuje potenciálne

riešenie optimalizačného problému. Predpokladajme, že vyhľadávací priestor je

d – dimenzionálny a v ňom existuje ρ častíc v množine (swarm). Každá častica4 i je

reprezentovaná vektorom pozície x (i je index častice) a rýchlosť zodpovedajúcemu vektoru i

i

v , kde i=1,2,....ρ.

Najlepšia osobná pozícia častice i je najlepšia pozícia (t.j. tej častice, ktorej výsledkom je najlepšia hodnota fitness) navštívenej častice i v diaľke. Nech f je účelová funkcia, potom najlepšia osobná pozícia častice v čase t je daná nasledovne:

( )

( )( )

((

( )( )))

((

( )( )))

⎩ ⎨ ⎧ − − ≥ − = 1 < ak 1 ak 1 t y f t x f t x t p f t x f t p t p i i i i i i i (2.01)

Pre gbest je najlepšia častica determinovaná z celého swarmu výberom najlepšej osobnej pozície. Ak pozícia globálne najlepšej častice je označená vektorom p, potom

( ) {

t p p p

}

{

f

(

p

( )

t

)

f

(

p

( )

t

)

f

(

p

( )

t

)}

p0, 1,... s =min 0 , s ,.... s , (2.02)

kde s označuje veľkosť swarmu.

Rýchlosť obnovenia kroku je špecifická pre každú dimenziu j∈1,...kd, kde vij

reprezentuje j prvok vektora rýchlosti pohybu th ith častice. Potom rýchlosť pohybu častice i

je daná vzťahom (Eberhart & Kennedy, 1995):

( )

t =wv

( )

t−1 +c1r1

(

p

( )

t−1 −x

( )

t−1

)

+c2r2

(

p

( )

t−1 −x

( )

t−1

)

vij ij ij ij j ij . (2.03)

kde: r a 1 r sú náhodne generované čísla s normálnym rozložením v intervale 2

[ ]

0 , ,1 c je 1 kongnitívny akceleračný koeficient, c je sociálny akceleračná koeficient (coefficient of the 2 social component), w je váhový faktor (inertia weight), ktorý môže byť počas optimalizácie konštantný alebo sa môže meniť lineárne počas iterácií v intervale od 1 do 0, (dvojica parametrov wmaxa w ). Slúži ako spomienka na predchádzajúcu rýchlosť pohybu. Vysoká min váha zotrvačnosti uprednostňuje skúmanie, zatiaľ čo malá váha uprednostňuje využívanie Klesajúci koeficient zabraňuje osciláciám a zároveň stimuluje časticu ku konvergencii nad nájdeným globálnym minimom. Vhodný výber veľkosti tohto faktora má za následok rovnováhu medzi globálnym a lokálnym prieskumom, t.j. menej iterácii pri hľadaní úspešného riešenia. Tento faktor vypočítame pomocou vzťahu (Xia W. – Wu Z. 2005)

iter iter w w w w max min max max − − = , (2.05)

kde: wmax je začiatočná hodnota váhového koeficientu, w je konečná hodnota váhového min koeficientu, iter je maximálny počet iterácii, max iter je súčasná iterácia.

Nová pozícia je determinovaná súčtom predchádzajúcich pozícii a nová rýchlosť sa zmení podľa vzťahu (2.06).

Documento similar