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
Stránky: 1
Ahoj,
hedám algoritmus na rozřazení jednofázových elektrických spotřebičů do 3 fází tak, aby každá fáze byla zatížena "stejně".
Když to převedu na obecný problém:
máte řadu čísel jejichž hodnotu nemůžete měnit a rozřazujete je do sloupců tak, aby rozdíly součtů v jednotlivých sloupcích byly co nejmenší.
Máte nějaký tip na takový algoritmus, prosím? Chtěl bych si to naprogramovat ve VBA.
Předem díky za nápady.
Offline
Ahoj,
není jednoznačně zadáno co znamená "aby rozdíly součtů v jednotlivých sloupcích byly co nejmenší". Ty rozdíly budou tři, takže co přesně chceš minimalizovat? Aby největší z těchto rozdílů byl (v absolutní hodnotě) co nejmenší?
Chceš abys získal optimální řešení a nebo přibližné? Mám pocit, že optimální je NP úloha - něco jako problém batohu.
Offline
↑ check_drummer:
Ahoj,
googlil jsem a opravdu, jedná se o problém batohu nebo lépe řečeno problém tří loupežníků.
Odpověďi na tvé dotazy:
1. chci minimalizovat největší rozdíl ze tří rozdlílů součtů každého sloupce v absolutní hodnotě.
2. chci obojí:
pro praxi mě zajímá přibližné řešení
mě osobně zajímá řešení optimální
V praxi to má omezení - čísel bude max 30 (kladná) a příkony by se zásadně lišit něměly - to říkám pro přibližné řešení.
Nemáš tedy tip na nějakou literaturu, kde bych se dočetl, jak to vyřešit? Jaké klíčové slovo hledat v knihovně? Případně nějak navést? Nevypadá to moc jednoduše....
Děkuji.
Offline
S použitím řešitele v LibreOffice pro 30 položek je to otázka několika sekund. Viz obrázek:
Offline
↑ mák:
díky moc.
Co máš za funkci ve sloupích "fáze 1", "fáze 2" a "fáze 3"? Já používám funkci "KDYŽ" a hledá to hrozně dlouho.
Je pravda, že nepoužívám LibreOffice, ale EXCEL 365.
Mám na výběr ze 3 algoritmů - gradient/simplex/evoluční přičemž evoluční algoritmus funguje nejlépe.
Tvé optimální řešení se mi nepodařilo najít se stejnými vstupními hodnotami, bohužel.
Díky za odpověď
Offline
Mě to taky připomíná problém loupežníků ... a pokud je to NP-úplný problém, tak na to žádný zázračný algoritmus neexistuje, a nezbývá než vyzkoušet všechny kombinace. Což pro 30 čísel asi není zas takové dráma...
Případně zkoušet jen některé a spokojit se se suboptimálním výsledkem...
Offline
Stránky: 1