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
Zdravim.
Mám naimplementovaný algoritmus na řešení úlohy max. LP a myslel jsem si, že pokud chci řešit min. LP stačí mi řešit úlohu max. LP s opačnou účelovou funkcí, ale bohužel dostávám nekorektní výsledky. Nevíte někdo jak řešit min. LP pomocí metody max. LP
Offline
ta uvaha je podle mne spravna: pokud hledam optimum a vim, ze je v maximu a mam algoritmus hledajici maximum ucelove fce pomoci LP, pak neni co resit. pokud vim, ze optimum je v minimu a mam algoritmus hledajici maximum ucelove fce, pak lze tuto ulohu prevest na hledani maxima tak, ze vezmu za novou ucelovou fci funkci
. pokud dostavas nesmyslne vysledky, asi bude potreba se podivat na ten algoritmus, nejlepe breakpointy a odstepovat
Offline
souhlasim, dokonce se dukazy delaji jenom pro jeden druh extremu s tim, ze ten druhy se da prevest. Nema ten algoritus treba problem se zapornymi cisly?
Offline
Příklad výstupu mého programu
úloha
1x1 + 1x2 => 0
- 1x1 + 1x2 => 1
2x1 + 1x2 => 7
Min. objective function:
1x1 - 2x2
x1, x2 => 0
tabulky behem vypoctu:
Table :
x1 x2 x3 x4 x5 x6
1 1 1 0 0 0
-1 1 0 1 0 1
2 1 0 0 1 7
-1 2 0 0 0 0
Pivot: 1 x: 0 y: 1
base: 2 , 3 , 4
Table :
x1 x2 x3 x4 x5 x6
1 1 1 0 0 0
-2 0 -1 1 0 1
1 0 -1 0 1 7
-3 0 -2 0 0 0
vysledek
x1 = 0
x2 = 0
Value of objective function : 0
Coz porusuje zadane podminky, mohli byste mi napsat proc se dojde ke spatnemu vysledku? V cem spociva problem v simplexove metode za pouziti zapornych cisel?
Offline
A dela to problemy i kdyz jste na ohranicenych mnozinach? Protoze ty podminky definuji neohranicenou mnozinu, viz http://wood.mendelu.cz/math/maw/ineq2d/ … ko=Odeslat
A na neohranicenych mnozinach to s maximem a minimem uz je horsi, neplati tam terba Weierstrassova veta.
Offline
robert.marik napsal(a):
A dela to problemy i kdyz jste na ohranicenych mnozinach? Protoze ty podminky definuji neohranicenou mnozinu, viz http://wood.mendelu.cz/math/maw/ineq2d/ … ko=Odeslat
A na neohranicenych mnozinach to s maximem a minimem uz je horsi, neplati tam terba Weierstrassova veta.
No pokud tomu dobre rozumim, tak ohranicena mnozina by vyzadovala i podminku s obracenou nerovnosi, ale to by se jiz jednalo o dvoufazovou simplexovou metodu ne?
Ale ja delam pouze jednofazovou klasickou, ktera by mela zvladat stand. nerovnosti u podminek tzv u max. podminka <= omezeni a u min. podminka => omezeni , ne? Kde omezeni jsou kladna cisla. Ale nevim, kde ve vyse uvedenem postupu je chyba (pozn. je tam pouzito Blandovo pravidlo).
Offline
A jake ma teda byt reseni toho problemu? Ve kterem bode cekate, ze ten extrem nastava?
Offline
↑ Kondr:
nehleda se minimum? (prispevek cislo 4)
a ma tam podminky nezapornosti
A [-1/2,1/2] nesplňuje třetí nerovnici.
Offline
↑ Kondr:
Já si taky myslím že to minimalizovat nepůjde :). Právě proto jsem se ptal autora algoritmu, co si představuje že by mělo být výstupem.
Offline
Prosim, zapomente na to, co jsem se drive psal, muj hlavni problem bude nasledujici
zadani
min: 2x1 + 2 x2;
c1: -1 x1 + x2 >= 3;
2 x1 - x2 >= 7;
x1 >= 0;
x2 >= 0;
muj program vynasobi ucelovou fci -1, a nasledne spusteny algoritmus simplexove metody ihned skonci, protoze v ucelove fci nenajde zadnou kladnou hodnotu - coz je ukoncovaci stav pri maximalizaci ucelove funkce ( obratit ukoncovaci stav na to, az se bude v ucelove fci pouze vyskytovat kladna cisla - to nevim jestli je korektni)
Nevite prosim jak bych mel svuj algoritmus reseni ulohy upravit, abych ziskal korektni reseni.
V jedne webove aplikaci to vyslo x1 = 10 x2 = 13, ale oni tam na to pouzili dvoufazovou simplexovou metodu, ale melo by to jit i s jednofazovou ne?
Offline
Zkuste maximalizovat ne funkci -2x1-2x2 ake treba 1000000-2x1-2x2
Jestli to projde tak jde chyba jenom v tom, ze ten ukoncovaci stav je nesmysl, protoze ta funkce bude porad zaporna.
A podle me muze byt maximum i tam, kde je funkce zaporna.
A oparvdu bych testoval nejdrim na ohranicenych mnozinach a na prikladech, ktere si spocitam rucne a vidim, ze ten program by to mohl zkousnout.
Offline
↑ robert.marik:
No to mi opravdu program rovnou skonci a vypise ze x1, x2 = 0 bez ohledu na jina omezeni, ale po pravde receno jsem v zadnych skriptech nevidel ani jiny postup.
Offline