[ 10milan10 @ 28.11.2007. 11:45 ] @
Treba mi da mi se za zadatu količinu preračuna broj pakovanja. NPR Treba mi 36 litara boje, a pakovanja su od 2, 5, 15 litara. koliko kojih pakovanja mi treba. Recimo za ovaj slučaj 2x15 i 3x2litre.
Unapred hvala na pomoći.
[ goranvuc @ 28.11.2007. 12:22 ] @
Za slucaj 1 i 3 ne moze, a za ostalo imas uploadovano resenje.

Simpatican problemcic
[ 10milan10 @ 28.11.2007. 13:00 ] @
E super je rešenje. Imam jos jedan mali problem imam i pakovanje od 0.75 litre. Ako bi moglo i to se ubaci u onu tabelu bilo bi extra. Puno hvala na ovome.
[ goranvuc @ 28.11.2007. 13:27 ] @
Znaci "samo" jos to da se ubaci Ne znam zasto sam imao osecaj da ce se tako nastaviti ...

Ako bas hoces da se "samo" jos to ubaci, moras da preciziras kakva ce ti biti polazna kolicina. tj. da li mislis da program radi preraspodelu za 525,25 i sl. - dakle, da li ces upisivati i decimalne brojeve ili kao u polaznom primeru i dalje pricamo o celim brojevima?
[ Jpeca @ 29.11.2007. 08:32 ] @
Čini mi se da je problem isti kao i specifikacija novčanica. Ovde imaš rešenje http://www.elitesecurity.org/t162798-0#1078699 koje se može primeniti za bilo koju kombinaciju pakovanja.
[ 10milan10 @ 02.12.2007. 08:03 ] @
To je to što mi je trebalo.
10x
[ goranvuc @ 02.12.2007. 08:46 ] @
Nije bas ista stvar jer ovi tvoji apoeni ne mogu da se obracunavaju po istoj logici: ja sam morao da uvedem korektivni obracun za slucajeve npr: 38 gde bi po logici koju daje primer od JPece bilo 15x2 + 5x1 + 2x1 i imas ostatak od 1, a moj primer ti lepo daje 15x2 + 2x4 i nemas ostatka.

Obracun koji je linkovao moze da se primeni kod novcanih apoena jer su oni tako i osmisljeni da moze po toj logici da se dobije bilo koji iznos pocevsi od najveceg apoena i iduci ka najmanjem sve dok ne bude ostatka - u tvom primeru to nije slucaj, jer ti umesto apoena 1 imas naknadno uveden 0.75 (nisi ni odgovorio da li ti treba raspodela i za decimalne kolicine, npr 25.75 i sl.)

Kao sto rekoh, za varijantu 2, 5, 15 imas od mene idealno resenje, a za varijantu 0.75, 2, 5, 15 moras prvo precizirati da li radimo sa decimalama ili ne. Ako se ne obracunavaju decimalne vrednosti onda se problem svodi na apoene 2, 3 (0.75x4), 5, 15

Malo udubljivanja u problematiku ponekad menja perspektivu
[ Jpeca @ 03.12.2007. 10:13 ] @
Zaista se previše nisam udublljivao u problematiku (zato sam i rekao "čini mi se"), tako da je je primedba u vezi obračuna stoji. Međutim postavalja se novo pitanje zašto onda za 38 ne damo 19x2? Iz ličnog iskustva u nabavici boje za krečenje znam da su veća pakovanja jeftinija pa se neki put više isplati kupiti koju litru više nego insistirati na tačnoj količini. Problem postaje dosta složen pa je prilika da se iskoristi teška artiljerija iz Excela - Solver add in koji služi sa rešavanje problema optimizacije (sistema linearnih/nelinearnih jednačina). Solver se ne instalira automatski nego ga treba dodati kao add-in (Tools-> Add In u Excelu 2003, videti help za 2007) . Dodao sam cenu pojedinog pakovanja i definisao problem u Solveru na sledeći način: Traže se količine pojedinih pakovanja tako da ukupna cena bude minimalna, pod uslovom da su kolčine pakovanja celi brojevi i da isporučena količina bude veća ili jednaka zadatoj količini.

U opcijama solvera postavio sam još da se traže nenegativna rešenja i linearni model.

Zadavanjem željene količine i startovanjem solvera, trebalo bi da solver pronađe optimalno rešenje.


[ goranvuc @ 03.12.2007. 21:12 ] @
Peco,

Znam vrlo dobro iz ranijih tvojih postova da povrsnost bas i nije tvoja mana, tako da moja opaska i nije bila tebi namenjena, vec je bila na racun nedovoljno precizno definisanog zadatka.

Stoji sve sto si rekao, ja sam isao po kriterijumu od najveceg ka najmanjem apoenu - uz korekciju zbog nekompletnog seta apoena. Za sve ostale varijacije na temu odgovor moze biti i ovaj interesantan predlog koji si izneo na kraju.

Pozdrav!