< návrat zpět

MS Excel


Téma: Nejlepší kombinace délek trubek rss

Zaslal/a 11.1.2018 13:53

Ahoj, potřeboval bych poradit jak vypočítat nejlepší možnou kombinaci délek trubek které lze odebrat ze 100m nebo 200m balíků. Jde o to že kreslím podlahové topení a výsledkem je "n" počet okruhů o různých délkách. Tyto okruhy (délky) teď potřebuji seskládat v nejlepší možné kombinaci tak, abych dostal co nejmenší odpady z balíků. Balíky jsou dostupné v délce 100m nebo 200m.

Příklad:
1.okruh 101m
2.okruh 95m
3.okruh 63m
4.okruh 78m
5.okruh 89m
6.okruh 46m
7.okruh 98m
8.okruh 88m
.
.
.

(1.)101+(2.)95=196m => 200m balík a odpad 4m
(3.)63+(5.)89+(6.)46=198 => 200m balík a odpad 2m
(4.)78+(7.)98=176 => 200m balík a odpad 24m
(8.)88 => 100m balík a odpad 12m

Těchto kombinací je samozřejmě několik a já potřebuji najít tu nejlepší.
Děkuj všem za pomoc

Zaslat odpověď >

Strana:  « předchozí  1 2
#039082
avatar
Moc dekuji za pomoc. Myslim ze to ted pocita spravne. Potreboval bych to na 20 okruhu tak si s tim ted jdu hrat kdyby se mi to nedarilo, mohl bych te pak popr. jeste jednou poprosit? Jeste jednou dikycitovat
#039107
avatar
Ahoj, tak jsem si s tou tabulkou trochu pohral a zjistil jsem ze Solver mi vyresi max 14 okruhu (no neni to 20, ale 14 take dobry). A skutecne neco to pocita jen si nejsem jestej jestli vzdy to nejlepsi mozne reseni. Mam tedy par otazek co bych chtel vylepsit a prikladam tabulku kterou zatim mam.

1.jak nastavit podminky resitele nebo “neco jineho” tak aby mi vyslo vzdy nejlepsi mozne reseni za podminek

a) aby minimalni odpad z jednoho okruhu byl 1m. tzn pokud budou secteny napr. 3 okruhy, tak min odpad bude 3m z baliku

b) aby vysledne odpady z celeho baliku byly v co nejvetsi delce. V prilozenem souboru “Vypocet - okruhy_2_14.xlsx” je reseni, ktere ma 4 baliky po 200m a odpady 8m, 24m, 20m a 12m takze mam zbyle trubky dost rozkouskovany. Jenze existuje i reseni kde je to takhle:

- 83+19+92=194 => 200m balik

- 88+65+42=195 => 200m balik

- 50+66+76=192 => 200m balik

- 93+62=155 => 200m balik

- a odpady pro toto reseni jsou 6m, 5m, 8m a 45m takze mam k dispozici jeden celkem dlouhej odpad, kterej lze pouzit priste namisto dvou ca 20m ktere uz by mi byli takrka k nicemu, protoze takhle male okruhy se vyskytuji jen malo.

2. jak nastavit podminky resitele nebo “neco jineho” tak abych si mohl volit delky baliku. V me tabulce mam “dostupne baliky” ve 4 bunkach po 100m, 200m, 400m a 500m (myslim ze 4 mi budou stacit) jejich delky bych chtel ale memit dle potreby. Napr. potrebuji spocitat okruhy pro baliky jen 150m a 200m nebo treba 300m a 500m atd.

3. razeni vysledku (pro tisk): potreboval bych aby se mi vysledek zaradil tak jak to mam ve sloupci “V - a dale” (mohlo by byt i na novem listu “vysledek”). K tomuto ucelu jsem se snazil pouzit vyhledavaci a radici funkci, kterou jsem nasel na netu
=WENNFEHLER(INDEX($A$2:$D$6;KKLEINSTE(WENN($B$2:$B$6=$J$1;ZEILE($B$2:$B$6)-1);ZEILE($A2));SPALTE(A$1));"")

(oblasi teto funkce nejsou z me tabulky) a omlouvam se za nemecke nazvy (v praci mam bohuzel jen DE excel) prikladam soubor “Filter.xlsx „ ve kterem je toto reseno v CZ. Bohuzel se mi nedari tuto funkci implementovat na moji tabulku. Prikladam i obrazek „razeni vysledku.png“ s razenim vysledku.
Příloha: xlsx39107_vypocet-okruhy_2_14.xlsx (19kB, staženo 23x)
citovat
#039108
avatar
bohuzel asi nejde do jednoho prispevku vlozit vice souboru. tak tedy vkladam Filter
Příloha: xlsx39108_filter.xlsx (10kB, staženo 20x)
citovat
#039109
avatar
a jeste obr. razeni
Příloha: png39109_razeni-vysledku.png (318kB, staženo 41x)
39109_razeni-vysledku.png
citovat
#039112
avatar
Add okruhy:

Je třeba omezit počet proměnných. Místo vyplňování úhlopříčky lze nastavit nějaké řešení (nemusí být optimální) vybrat do pole proměnných jen zadané okruhy a hledat, jestli se nenajde menší počet balíků.

Když máte nalezený potřebný počet balíků seskupte nalezené řešení tak, aby použité okruhy byly v sousedních sloupcích (bez balíků s nulovou délkou mezi nimi). V buňce spočtěte max odpad.
Zadejte jako proměnné jen vybrané okruhy, cílová funkce je v buňce se spočteným max. odpadem a hledáme maximum.

Tato varianta neptimalizuje ostatní balíky. Pokud je v ostatních balících velký počet poměrně dlouhých kousků, lze vyčlenit balík s nejdelším zbytkem a proceduru zopakovat pro ostatní balíky.

Na příkladu jsem zkusil míslo prostého max hledat maximum sumy čtverců, což by mělo preferovat větší rozdíly mezi zbytky (velké by měly být co největší, malé naopak), ale dávalo to trochu horší výsledky.citovat
#039114
avatar
Ještě soubor
Příloha: xlsx39114_39107_vypocet-okruhy_2_14-kopie.xlsx (27kB, staženo 28x)
citovat
#039269
avatar
dekuji za vasi snahu mi pomoci. prikladam aktualni soubor ve kterem je puvodni reseni resitele s ne upne presnymi vyslekdy, ale celkem prijatelne. Diky uzivateli "elninoslov" jsem se dopracoval i k razeni (filtr) vysledku. Takze vsem moc dekuji a jestli casem prijdu na nejake jine reseni, dam vedet. Diky
Příloha: xlsx39269_vypocet-okruhy_3_14b.xlsx (36kB, staženo 36x)
citovat

Strana:  « předchozí  1 2

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje