Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 01. 11. 2010 17:58

petros66
Zelenáč
Příspěvky: 24
Reputace:   
 

Lineární programování - omezující podmínky

Ahoj,

řeším následující problém s tvorbou omezujících podmínek. Mám tři činnosti (A,B,C) vybíhající z téhož uzlu daného grafu, které bude vykonávat tentýž pracovník. Nebudou tudíž vykonávány současně, ale za sebou. Do modelu je potřeba přidat podmínky, které vyjádří celkovou délku jednotlivých činností. Například, pokud pracovník vykoná činnosti v pořadí B,C,A, fakticky to znamená, že délka činnosti C se prodlouží o B a délka A se prodlouží o B+C. Z tímto účelem jsem vytvořil následující:

dA = A + B*p + C*(1-r)

dB = B + C*q + A*(1-p)

dC = C + A*r + B*(1-q)

V optimálním řešení pak budou stanoveny hodnoty binárních proměnných p,q,r.
Je-li např. p=q=1, pak:

dA = A + B + C,
dB = B + C,
dC = C.

Tedy pořadí vykonání činností je C,B,A. (C není prodloužena, B je prodloužena o C a A je prodloužena o B+C.)

Je jasné, že aby omezení dávala smysl, musí být délka jedné činnosti rovna "třem písmenům", druhé dvěma a třetí "jednomu písmenu". Např. takováto situace je nepřípustná:

dA = A + B,
dB = B + C,
dC = C + A.

To lze zajistit podmínkami:

p+q+r >= 1,
p+q+r <= 2.

Doposud je to snadné. Problém mám ale s formulací podmínek pro čtyři činnosti.


dA = A + B*p + C*(1-r) + D*s
dB = B + C*q + A*(1-p) + D*t
dC = C + A*rij + B*(1-q) + D*uij
dD = D + A*(1-s) + B*(1-t) + C*(1-u)

Mám poněkud problém se stanovením omezení pro binární proměnné p,q,r,s,t,u. Možností je totiž spousta a není to již tak snadné jako v předchozím případě. Napadá někoho nějaké elegantní řešení? Přijmu klidně i přeformulování podmínek pro délku činností. A nemám nic proti součinu proměnných, ten se dá snadno linearizovat (u bin. prom.).

Díky!

Offline

  • (téma jako vyřešené označil(a) petros66)

#2 01. 11. 2010 22:44

petros66
Zelenáč
Příspěvky: 24
Reputace:   
 

Re: Lineární programování - omezující podmínky

Tak jsem to rozlouskl.

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson