Forum » Programiranje » Mešanje koktajlov - matematični problem
Mešanje koktajlov - matematični problem
omnimint ::
Imam za sprogramirat neko zadevo in iščem kako idejo, kako se lotiti naslednje naloge:
Prirejaš zabavo in se odločiš, da boš pripravil V litrov opojne tekočine. Shaker ima predpisan minimalen Smin in maksimalen Smax volumen. Ravno tako tudi kozarci ne smeje biti prepolni oz. preveč prazni, tolerance so namreč od Kmin do Kmax. Kako sedaj dozirati sestavine, da ne bo šla po zlu niti kapljica pijače in da bo vse v predpisanih območjih?
Rešitev lahko sploh ne obstaja, lahko jih je tudi več. Želimo priti skozi s čim manj mešanji.
Prirejaš zabavo in se odločiš, da boš pripravil V litrov opojne tekočine. Shaker ima predpisan minimalen Smin in maksimalen Smax volumen. Ravno tako tudi kozarci ne smeje biti prepolni oz. preveč prazni, tolerance so namreč od Kmin do Kmax. Kako sedaj dozirati sestavine, da ne bo šla po zlu niti kapljica pijače in da bo vse v predpisanih območjih?
Rešitev lahko sploh ne obstaja, lahko jih je tudi več. Želimo priti skozi s čim manj mešanji.
Rok Woot ::
Jah to moraš več pogojev gledat. Sam bi začel, če je V manj kot Smin, potem gre vse v smeti, če je V večji ... Če je kozarec večji od V potem gre zmeraj skozi, če lahko shaker meša večkrat za isti kozarec itd ..., potem ne rabiš mešat, potem moraš gledat za različno število sestavin ... Ta prvo pogledaš ekstreme.
Zelo ohlapno si definiral, zato se raje nebom lotil. Ali morajo biti vsi kozarci enako polni? Ali lahko dobiš poljubno kombinacijo pijače? ... Da ne govorimo o ledu, ki lahko gleda nad rob kozarca ...
Zelo ohlapno si definiral, zato se raje nebom lotil. Ali morajo biti vsi kozarci enako polni? Ali lahko dobiš poljubno kombinacijo pijače? ... Da ne govorimo o ledu, ki lahko gleda nad rob kozarca ...
Zgodovina sprememb…
- spremenilo: Rok Woot ()
mn ::
Jaz mi rekel (Kmin*število kozarcev)/Smax. Dobiš recimo 4,1. To pomeni, da moraš mešati 5krat manj ne gre.
Potem pa, če je 5*Smax <= Kmax*število kozarcev si končal, drugače pa deliš (Kmax*število kozarcev)/5. Če je vrednost >= Smin potem jo uporabiš, drugače mešaš Smin in se sprijazniš z izgubo.
Potem pa, če je 5*Smax <= Kmax*število kozarcev si končal, drugače pa deliš (Kmax*število kozarcev)/5. Če je vrednost >= Smin potem jo uporabiš, drugače mešaš Smin in se sprijazniš z izgubo.
Zgodovina sprememb…
- spremenilo: mn ()
omnimint ::
Tole s koktajli je bilo bolj za ilustracijo. Dejansko gre za industrijsko mešanje in doziranje v predpisanih tolerancah. 'Kozarci' so vsi enaki, snovi ki bi štrlela izven kozarca ni...
Koliko izgleda vse skupaj enostavno se stvar hitro zakomplicira. Recimo da najprej polniš kozarce do Kmax, ko dosežeš Smax ugotoviš ali je zadnji kozarec za ta shake dovolj napolnjen, če ni gre preostanek v naslednji shake. Čisto na koncu imaš ostanek, ki je manjši od Kmax, lahko pa ni dovolj ( < Kmin ) in moraš nekaj dodat. Pogledaš prejšnji kozarec in mu odvzameš, največ do Kmin... če ni dovolj greš na pred predhodnega in spet nekaj odvzameš... Samo to je bolj taka 'optimistična' in luknjasta varianta. Sem mislil če kdo pozna kakšno varianto v stilu dinamičnega programiranja ipd.
Koliko izgleda vse skupaj enostavno se stvar hitro zakomplicira. Recimo da najprej polniš kozarce do Kmax, ko dosežeš Smax ugotoviš ali je zadnji kozarec za ta shake dovolj napolnjen, če ni gre preostanek v naslednji shake. Čisto na koncu imaš ostanek, ki je manjši od Kmax, lahko pa ni dovolj ( < Kmin ) in moraš nekaj dodat. Pogledaš prejšnji kozarec in mu odvzameš, največ do Kmin... če ni dovolj greš na pred predhodnega in spet nekaj odvzameš... Samo to je bolj taka 'optimistična' in luknjasta varianta. Sem mislil če kdo pozna kakšno varianto v stilu dinamičnega programiranja ipd.
smacker ::
!. A V je fiksen in vnaprej podan? Torej stranka naroči 500L tekočine, vi pa želite to s čimmanj mešanji zapakirati v čim manj kozarcev?
2. A lahko v kozarce dolivaš? Torej z enim "shakerjem" napolniš 4 kozarce in petega do polovice, nato pa v naslednji rundi zapolniš še 5 kozarec in še 4 nove.
2. A lahko v kozarce dolivaš? Torej z enim "shakerjem" napolniš 4 kozarce in petega do polovice, nato pa v naslednji rundi zapolniš še 5 kozarec in še 4 nove.
blay44 ::
Sicer je tole res mal nerazumlivo.
Ampak, kakor si napisal v zadnjem postu, bi lahko polnil kozarce do Kmin. Preostanek pa delil s količino kozarcev in v vsakega dodal izračunano količino. Tko bi imel enakomerno "kvaliteto". Ravno obratno kot si napisal.
Nima pa to veze z realnimi polnilci.
Ampak, kakor si napisal v zadnjem postu, bi lahko polnil kozarce do Kmin. Preostanek pa delil s količino kozarcev in v vsakega dodal izračunano količino. Tko bi imel enakomerno "kvaliteto". Ravno obratno kot si napisal.
Nima pa to veze z realnimi polnilci.
kuall ::
Nisi si postavil zadosti jasnih vprašanj. Če nimaš pravih vprašanj tudi odgovori ne bodo pravi oziroma boš težje prišel do njih.
Prava vprašanja:
V1. Kakšna morajo biti polnjeja mixerjev, da iz njih pridelamo količino V in da bo čimmanj mešanj?
V2. Kakšna morajo biti polnjenja kozarcev, da bom lahko spravil V v kozarce enakomerno?
Odgovori:
O1:
Za nekatere primere ne obstaja rešitev.
Naprimer če je V večje od Smax za manj kot je razlika med smax in smin. Naprimer če je V 61, smax je 60, smin je 50.
Za razmislit. Najbrž ne obstaja enostavna matematična enačba in bo treba napisat program, ki zmelje rešitev.
O2: rešit je treba tole enačbo:
Prava vprašanja:
V1. Kakšna morajo biti polnjeja mixerjev, da iz njih pridelamo količino V in da bo čimmanj mešanj?
V2. Kakšna morajo biti polnjenja kozarcev, da bom lahko spravil V v kozarce enakomerno?
Odgovori:
O1:
Za nekatere primere ne obstaja rešitev.
Naprimer če je V večje od Smax za manj kot je razlika med smax in smin. Naprimer če je V 61, smax je 60, smin je 50.
Za razmislit. Najbrž ne obstaja enostavna matematična enačba in bo treba napisat program, ki zmelje rešitev.
O2: rešit je treba tole enačbo:
knum * kavg = V kavg <= kmin kavg >= kmax knum = število kozarcev kavg = polnjejna kozarcev
Zgodovina sprememb…
- spremenilo: kuall ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Varnejši kozarci za BritanceOddelek: Novice / Znanost in tehnologija | 14423 (12853) | poweroff |
» | Mixology - mešanje cocktailovOddelek: Loža | 4031 (3866) | Spy |
» | Recepti in slike tega, kar so ustvarile vaše roke in domišljija :)Oddelek: Sedem umetnosti | 13928 (10019) | St@jler |
» | Informirani kozarci... mit ali resnica? (strani: 1 2 3 4 )Oddelek: Loža | 14932 (12470) | gruntfürmich |
» | tlak - fizikalno vprašanje (strani: 1 2 )Oddelek: Loža | 5216 (4592) | Aggressor |