Celočíselné programovanie
Celočíselné programovanie je odvetvie optimalizácie, prvá úloha celočíselného programovania bola riešena v roku 1958.
Úloha
Úlohou celočíselného programovania je optimalizačná úloha
navyše s podmienkou, že premenné nadobúdajú len celočíselné hodnoty. Ak niektoré z premenných môžu nadobúdať hodnoty neceločíselné, ide o úlohu zmiešanú.
Najčastejší typ: lineárneho celočíselného programovania, ktoré rieši úlohu
pričom:
- označuje skalárny súčin vektorov c, x
- množina prípustných riešení M je popísaná sústavou
- kde A je matica rozmeru m × n, b je m-rozmerný vektor a c, x sú n-rozmerné vektory. Súčin Ax označuje súčin matíc. C ⊆ {1,…,n} je množina indexov premenných, ktoré majú byť celočíselné.
Patrí sem napr.:
- problém obchodného cestujúceho
- problém batohu
Metódy riešenia
Metódy riešenia celočíselného programovania:
- metódy sečných nadrovín (metóda rezov): riešime úlohu bez podmienok celočíselnosti. Ak je získané optimálne riešenie neceločíselné, potom odrežeme kus množiny prípustných riešení M, obsahujúcu bod x, ale v ktorom neleží žiadny celočíselný bod. Postup opakujeme až nájdeme celočíselné riešenie (pre niektoré konkrétne algoritmy je konvergencia zaručená).
- metóda vetvenia a medzí (branch & bound): úlohu rozdelíme na dve podúlohy a riešime rekurzívne.
Pre lineárne celočíselné programovanie existujú ďalšie špeciálne algoritmy (Gomory,…).
Referencie
- Jan Pelikán: Diskrétní modely v operačním výzkumu, Professional Publishing, Praha 2001
Externé odkazy
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.