Költségcsökkentés súlyozottan black box optimalizációval #2

Első rész: https://hup.hu/node/179463

Feladat: Van havi kiadás pár dologhoz. Például 100, 30 és 5 eurós havi díj. Van fontossági súlyuk, például 5, 19 és 40, ahol a nagyobb érték fontosabb kiadást jelent.

Cél csökkenteni az össz kiadást úgy, hogy elérjen egy alacsony szintet, de közben vegyük figyelembe a fontosságukat is. Ráadásul a fontosságok aránya minél kevésbé torzuljon.

Nehezítés, hogy az új értékeknek az eredeti érték és nulla közé kell esniük. Nem mehet negatívba és nem nőhet az eredeti fölé sem. Tehát például a 100 eurós kiadás maradhat 100-on vagy csökkenhet egészen nulláig.

 

Érdekességnek megmutatom, hogy black box optimalizáló eljárásom milyen megoldást ad. Ennek lényege, hogy nem tételezek fel és nem ismerek semmit a megoldásról. Hanem az eljárásomat kérem meg, hogy ezen feltételeket minél jobban teljesítse.

Példa előző részből:

Kiadások: 100, 30, 5 euró, összegük 135 euró

Fontosságuk: 5, 19, 40

Cél levinni a 135 össz kiadást 80 euróra.

 

Előző részben kapott megoldás hiperbolikus tangenssel:

100 → 45.91574882372393

30 → 29.08557143952188

5 → 4.998679736754175

 

Optimalizáló eljárásom jelenlegi eredménye:

100 → 50.65145534109063

30 → 24.348544658909372

5 → 4.9999999999999964

 

A minimalizált cél függvényem (cost function) a következő volt:

Két dolgot vetettem figyelembe. Egyrészt minél pontosabban érje el a cél összeget alulról vagy felülről, melyhez a különbségük abszolút értékét minimalizálom. Másrészről pedig minél kevésbé torzuljanak a súlyok. Ehhez az eredeti és új súlyok egyenkénti arányának veszem a szórását és ezt minimalizálom. Minél jobban kitér valamelyik, annál nagyobb értéket kapok a szórásban lévő négyzetes eltérés miatt.

E kettő feltétel szorzatát minimalizálom:

| cost_target - cost_new | * sd( weight_orig_i / weight_new_i )

Mely log domain-ben az összegük, és 1-et hozzáadok a függvény stabilizálásához:

ln( | cost_target - cost_new | + 1 ) + ln( sd( weight_orig_i / weight_new_i ) + 1 )

 

Ez a függvény értelemszerűen egyéni módon meghatározott. Nincsenek eredetileg más fajta kényszerek, vagy pedig nem ismertek. Ezért nem teljes értékű a probléma meghatározása.

Hozzászólások

Szerkesztve: 2022. 12. 26., h – 17:49

Továbbra sem értem ennek a valós felhasználhatóságát, de biztosan velem van a baj.

Eleve ebben a formában nem látom megoldhatónak a problémát (gyorsan lekódolva Juliaban is ugyanerre jutottam), másrészt ha ha a konkrét példából indulunk ki, amit írtál, akkor kvázi szolgáltatásokra való előfizetési díjak kifizetésének minimalizálásról beszélünk, aminek egészértékűnek kellene lennie, így legfeljebb arra adhatna egy modell megoldást, hogy mire fizess elő és mire nem (sum_költségek <= 80, ekkor maximum a 30+5 jöhet szóba, hiszen magán az előfizetési díjon változtatni nem tudsz).

Nem kötekszem, csak eredendően minél tovább nézem a modelljeid, általában annál kevésbé értem. :)

Értem én a viccet, csak ilyen korlátokkal erre nem lehet válaszolni..vagy túl sok bejglit ettem. :D Mindenesetre a te példádra pont lehetne így modellt írni (közmű), mert nem feltétel az egészértékűség, a fentire, jó érzéssel nem. :)

Mondjuk az is biztos, hogy nem is így csinálnám, vannak erre jól bejáratott OR solverek. :P

Ott van a kulcs, hogy a súlyok torzítása megengedett, de feltétel hogy minél kevésbé történjen. Tehát ha fixek lennének, akkor igazad lenne, nem megoldható a feladat. Itt most 2 feltétel van: 1) minél jobban közelítsük a cél költséget 2) minél kevésbé torzított súlyokkal.

Nincs arról definíció, hogy hogyan kell történnie a cél elérésének. Itt van egy szabadság fok. Kérdés az, hogy milyen feltételt tudunk mi kreálni azért, hogy betöltsük ezt az űrt a probléma definíciójában úgy, hogy az a gyakorlati elvárásokkal és életszerűséggel minél jobban összhangban legyen.

Erre adtam válaszként a hip.tangens megoldást.

Rendben, köszönöm a megerősítést.

Továbbra sem vitatkozva, nekem továbbra is érdekes/furcsa ez a megközelítés, mert a "hagyományos" matematikai modellezés/optimalizálás (gondolj LP, MILP problémákra) során nem szokás a súlyokat megváltoztatni, azok korlátozó feltételként is megjelenhetnek, tehát a 2. pont ilyen formán értelmezhetetlen.

Nyilván te jobban látod a problémák körét, amire alkalmazhatod az eljárásod, de a konkrét példánál maradva és "standard" modellből kiindulva azt gondolom, elengedhetetlen feltétel az egészértékűség, hiszen egy ilyen döntési helyzetben azt tudod meghatároztatni, igénybe vegyél-e egy szolgáltatást, vagy sem (a súlyok természetesen továbbra is fixek), így ez például felírható egy hátizsák/knapsack-problémaként is, adott x1,x2..xn döntési változó, amelyek a korlát(ok) értelmében sum_x[i] <= 80, ahol az egyes változók bináris értéket vehetnek fel.

Kicsit ez alapján úgy tűnik számomra, mintha egy előzetes elváráshoz szeretnéd alakítani az algoritmust, de feltételezem ez főként a korlátozott információim miatt van. Na mindegy, így is túl sokat írtam már erről. :)

Nem igazán mérvadó, hogy azt mondod, nem "szokás" megváltoztatni a súlyokat. Én fent egy olyan feltétel rendszert ismertettem, ahol ebben is szabadság van és adni kell rá egy megoldást. Megértem, hogy nehéz elfogadni és annál szebb nincs, mint amikor gyönyörűen le van betonozva az út amin végig lehet menni, de én most nem ilyen problémát vázoltam fel.

Megváltoztathatod a súlyokat, de általad kitalált metódussal törekedni kell rá, hogy minél kevésbé torzuljanak. Mégpedig azért, mert mindegyik kiadást meg akarjuk tartani. Ezért itt nem jó amit mondtál bináris döntés a kiadásokra.

Kösz.

Hmm, nem volt semmi támadó a kommentjeimben, de mégis nagyon defenzívnek érzem az érvelésed, úgyhogy ezután eltekintek az itteni beszélgetéstől, aminek egyáltalán szántam az egészet, azt hittem, egy blogpost alatt az belefér.

Nem szántam semmit "mérvadónak", elmondtam, még ha nagyon finoman is, hogy standard matematikai programozás esetén (van ennek egy szép neve: operációkutatás) a súly/fontosság/kutyafüle, hívd, ahogy akarod, _nem_ változik.

Ezért itt nem jó amit mondtál bináris döntés a kiadásokra

Hoztam egy példát egy lehetséges megoldásra, de egyébként mivel ez nem egy szabatos matematikai modell, ezért a feltételeken való relaxáció nélkül a solver - helyesen nem is képes megoldani (írtam, hogy kipróbáltam).

Ez így játék a számokkal (tudom, "szabadságfok", szereted ezt a szót), a valóságot próbálod a modellhez igazítani, nem fordítva, ahogy kéne. Másrészt azt is írtam, hogy a konkrét példádat alapul véve nem lehet nem egészértékű az eredmény, akkor sem, ha nem bináris értéket vársz (értem én, hogy te nem így csinálod, csak véleményem szerint ez így nem jó)(sőt, nem véletlenül hoztam példának azt, amit - ha van 3 szolgáltatásod, amiért legfeljebb N eurót vagy hajlandó fizetni egy hónapban, az egyetlen, amit el kell dönteni, hogy melyik kettőt fizeted továbbra is (ha azok összege kisebb, mint a maximum, nyilván), és melyikről mondasz le, tekintve, hogy az árakon tipikusan nem tudsz változtatni).

Úgy érzem nem beszélgetni szeretnél pro/kontra arról amit csináltál, meghallgatva érveket/ellenérveket, csak bemutatni azt, és egyetlen helyes megoldásként kardoskodni mellette, mikor nem először abból, amit mutatsz, nagyon nem ez látszik (hogy a valóságban akár csak jó lenne, nemhogy optimális).

Mindegy, kösz mindent.

Köszönöm amit mondasz.

Ha jól gondolom - és javíts ki - ha kidobsz a kiadásokból, akkor az végletekig torzítja a súlyt, mert nulla lesz a szorzó. Az én feltételem pedig a fordítottját mondja: cél a minél kisebb torzítás. Ezért nem játék a számokkal, hanem szerintem máshogy értelmezed, amit írok.

A kérdés szerintem az, hogy milyen módon balanszírozzunk azon 2 feltétel között, hogy minél jobban közelítsük a cél összeget kontra minél kevésbé torzítsuk a súlyokat.

Tehát nem igaz, hogy nem megoldható a feladat. A feltételeim garantálják, hogy van megoldás, sőt végtelen sok van. A kutatásom arra irányul, hogy milyen balanszírozási relációk léteznek és van-e köztük olyan, amely bármilyen szempontból életszerűbb vagy fontosabb. És mik lehetnek ezek a szempontok.

Na jó, megfogadtam, hogy kiszállok, de ígérem, hogy ezután tényleg tartozkodom a hosszabb okfejtésektől. Tegyünk úgy egy pillanatra, mintha még egy darab hasonló modellt sem készítettem volna és tök laikusként állnék a témához. Még mindig maradjunk szigorúan csak a példádnál, innen indultunk:

Kiadások: 100, 30, 5 euró, összegük 135 euró

Fontosságuk: 5, 19, 40

Cél levinni a 135 össz kiadást 80 euróra.

Egyértelműsítsük (laikus vagyok, ugye)(hasraütésszerű arányok) és egyszerűsítsük:

Kiadások:

Disney+: 30 eur

Spotify: 5 eur

Xbox Game Pass: 100 eur

Sum: 135 eur

Hogy lesz ebből legfeljebb 80 eur kiadás?

Bárhogyan súlyozol, ezen szolgáltatások ára nem fog változni (az egyszerűsítés okán tekintsünk most el az eltérő díjcsomagoktól), így továbbra is csak annyi lehetőséged van, hogy maximum valamit kiveszel a kosárból - jelen példában, meghagyod a Spotify és Disney+ előfizetéseket, 35 eur-ért, megy az Xbox, sum x[1,2] <= 80, megvagyunk. Bármit csinálsz, a szolgáltatások árát nem fogod befolyásolni, így a konkrét példának egy megoldása van.

Érted már a problémámat..? Ezt bárhogyan máshogy masszírozod, kaphatsz eltérő eredményt, de az nem fog illeszkedni a valóságra, erre mondtam, hogy ez játék a számokkal, és tartom is.

Kilépve a példa keretéből egy pillanatra: úgy vélem, pontosan értem, amit szeretnél csinálni és mondani, de többször leírtam, hogy miért nem tartom jelen értelmezési tartományra értelmezhetőnek/életszerűnek.

Pedig ez ugyanaz a példa. A netflix-et te hoztad fel, és azt is te kreáltad hogy azon nem lehet csökkenteni, mert egy szolgáltatás.

Én nem állítottam sehol, hogy nem lehet csökkenteni az értéket. Sőt. csak erről beszéltem.

A bináris döntést te hoztad fel, melyre válaszoltam, hogy szerintem miért nem jó. Azért, mert ha kidobod az egyiket, akkor ott a súly nullára vált, ami végtelen torzítás. Nem válaszoltál rá.

Köszönök minden észrevételt, de részemről mindenképpen az eredeti feltételeim keretén belül kell tartanom a dolgot, mert ezt vetettem fel.

Hmm..vegyük úgy, hogy elfogadom ("Én nem állítottam sehol, hogy nem lehet csökkenteni az értéket"), de akkor abból, ami látszik, ez így továbbra is..hogyismondjam..varázslás (vagy játék), nem a jó értelemben. Ugyanis ekkor végtelen sok/tetszőleges megoldás is értelmezhető, illetve, ha korlátozó feltételnek megadod a <=80-at, akkor konkrétan az x[1:3]-ra nézve a 0 is optimális megoldás. Innentől kezdve a súlyok önkényes megválasztása (mivel most az látszik, te választod őket, és azok nem adottak) dönti el az eredményt.

Biztos látod, hogy ez miért jó, csak nyilván arról sem mondhatsz többet, de én ezt ebben a formában nem érzem megalapozottnak (matematikailag sem, felhasználhatóság szerint sem). Ha pl. a thread elején lévő közműs példára kellene modellt készítenem, ahhoz hozzá lehetne hasonló módon állni, de min. fogyasztási korlátok akkor is belépnének, tehát azt a súlyozási eljárást nem érzem életszerűnek.

Mindenestre kösz a válaszokat.

Szerk.: miután ezt elküldtem, elolvastam az első részt, és látom, véletlenül ugyanezeket az ellenérveket sorakoztatták fel többen ott is, így a kör számunkra kvázi bezárul :) persicsb kolléga kellett volna ide is

Jól értem, hogy további kényszer feltételeket keresel még mindig? Miért zavar, hogy végtelen sok megoldás van? Pont ez a kutatásom célja, hogy mennyire lehet javítani ezen feltételek mellett a döntést.

Nem lehet, hogy a fontossági súlyt figyelmen kívül hagyod, amikor további kényszereket keresel? Ez a súly pont arról szól, hogy melyik kiadás mennyivel fontosabb. Nézd meg az optimalizálási cost function-t amit a bevezetőben írtam. Több, mint megoldható a feladat.

Az, hogy több fajta módon megoldható, az egyáltalán nem baj. Ezek vizsgálata a kutatás célja.

Régebbi blogokban is sokszor sokan eldobták a lapátot, amikor kiderült, hogy sok fajta megoldás van és nagyobb a szabadság foka, mint szeretnék és ezért megoldhatatlannak veszik a feladatot. Ez nekem furcsa.

Próbáld elképzelni amit a bevezetőben leírtam és gondold hozzá, hogy ha tetszik, ha nem, dönteni kell. Innétől kezdve nincs olyan, hogy nem megoldható, vagy nem jók a feltételek, vagy valami hiányzik. Hanem az a kérdés, hogy milyen módon vegyük figyelembe a feltételeket.

Részemről csupán ragaszkodok ahhoz, hogy ha dönteni kell, akkor mindegy milyen kevés információ áll rendelkezésre. A jó kérdés a "hogyan" lesz attól kezdve.

Jól érted, és azért, mert minél kevésbé definiált egy probléma, annál inkább "vaktában lövöldözik" az ember. Értem én, hogy a kiindulási helyzet az, hogy "márpedig ennyi infó van, ebből kell dönteni", de ahhoz nem matematikai modellezés és optimalizálás kell, mert jó döntést csak kellő számú hiteles információ birtokában lehet hozni*, ezért ha a kiindulás állapot attól eltérő, akkor vagy több információt kell szerezni, vagy kb. a szerencsén múlik a dolog - jelenleg ezt érzem inkább.

*nyilván ez feladatonként/projektenként eltér, hogy mi számít annak

Másrészt, ha végtelen sok megoldás van, akkor bámelyik egyformán jó lehet - így valószínűleg igazán egyik sem az. Éppen ezért kell a lehető legjobban a valóságra illeszkedően modellezni a problémát, hogy annak a valós értelmezési tartományán belül szülessen optimum. A tetszőlegesen megválasztott súlyok nem szolgálják ezt a célt (a valóságot közelítő modellezést).

Emiatt én ezt nem a "szabadság fokának" tartom, hangozzék bármilyen jól is, hanem egy aluldefiniált feladatnak (amin a tetszőleges paraméterek valójában csak torzítanak), ami csak akkor ad megoldást, ha a feltételeket szükség szerint relaxálod (mert akkor persze, hogy lesz megoldás, addig hajlítod, míg ki nem adja :)). Emiatt akár modell nélkül is lehetne dönteni és pont 50% esély lesz rá, hogy a döntés helyes. Nyilván utóbbi egy vicc, de minél kevesebb a döntést segítő információ, annál kevesebb lehetőség van valódi optimumot kimutatni.

Persze, azt is értem, hogy neked éppen ezt kell csinálni, mert nincs több infó/nem ez a kutatás célja/nem ez a kérdés, de ezért tartom "varázslásnak", és nem precízen megfogalmazott/definált matematikai problémának. No offense, ezt nem sértésnek szánom, nem ismerem pontosan azt, amivel a céged foglalkozik - minden, amit mondok, abban a állapottérben értelmezendő, amiben éppen beszélgetünk, a konkrét példáról. Érdekes problémákkal foglalkoztok és nem rossz időnként egyik-másikon elgondolkozni (pláne, hogy egyes teóriákra még modelleket is írtam).

Saját solver-t terveztem mely sok empirikus tesztem alapján és elméleti működés alapján is jobban működik. Értsd hibatűrőbb az aszimptóták és egyéb nehézségek ellen és kevésbé ragad lokális optimumon. Zajos problémára is jó és nem differenciálhatóra is. Stb. Ezt Ruby nyelven prototipizálom.

Ezen kívül természetesen használható bármi bármilyen nyelvi platformból, nincs semmi korlát.

A saját algo-kra azért van szükségem hogy lebontsam a meglévők korlátait. Saját gépi tanuló algo-t is fejlesztettem classification-höz plusz saját clustering-et is, mind non parametrikus szigorúan nulla hiperparaméterrel. Másban jobb máshogyan.

A classification algóm előnyei: gyorsabb számítás, nem sztochasztikus (ez nagyon nagy előny), lineáris futásidő stb.

Ezek egyelőre zártak, még folyamatban és fejlesztés alatt több dolog.

Nem ismered az elemzéseim eredményét. Szerintem nem érdemes ilyen kérdést csinálni belőle, teljes várható minden fronton az azonnali támadás. Elfogadom, hogy ilyen a piac és hogy a szakmai blogok mindig tele lesznek szkepticizmussal zárt dolgokat illetően.

Részemről a megfelelően kivitelezett objektív elemzésben hiszek és annak eredményében. Remélem, hogy ebben az egyben egyetértünk.

Részemről a megfelelően kivitelezett objektív elemzésben hiszek és annak eredményében. Remélem, hogy ebben az egyben egyetértünk.

Ebben teljesen. De azt, hogy az iparban elérhető solverek, mint CPLEX/Xpress/Gurobi/Knitro/... - az összeset nem sorolom fel - nem felelnek meg az általános céloknak, nagyméretű problémák esetén, minden tisztelettel, de nem hiszem el.

Olyan igen, létezik, hogy egy nagyon egyedi, különleges problémára születik egy solver - de ez messze nem az általános eset, hanem az erős kivétel. Az eddigiek alapján az látszik, azért a saját általános célú solver, mert azzal olyat is tudsz paraméterezni, amiért egy "normális" (értsd jól) solver elhajt - joggal.

Persze, mint a crypto esetén, természetesen itt is előfordulhat a világmegváltás - csak valószínűtlen, és nem is számítok ilyesmire (ahogy ott sincs algoritmus szinten nagy mozgolódás, úgy a matematikai solvereknél sem, amennyire nyomon követem). De írjuk ezt a saját szkepticismusom számlájára, amit te csinálsz, biztosan jó.. hiszen megkapor azokat a számokat, amiket látni akarsz.:)

De ha nem bináris a döntés (adott termék kell-e, y/n - aka hátizsák-probléma), akkor megint ott tartunk, mint sok másik threadben, hogy a modellből nekem hiányzik a mérethozadék figyelembe vétele. (Ami btw lehet csökkenő is, simán lehet, hogy 1000 almafát jobban megéri ültetni, mint százezret.) Már ha valós gazdasági problémát akarunk megoldani.

SZUM(1000 almafa költsége)/1000 <= SZUM(200 almafa költsége)/200

Ez az akadály annyi különböző példádnál eszembe jutott, hogy kezdek kételkedni benne, hogy egyáltalán jól értem-e, amit írsz. :)

Ott megy félre nálad a dolog, hogy információ hiány van a döntésnél, te pedig kreálsz kérdéseket az információra vonatkozólag. Amit te írtál, abból regény mennyiségű példát lehet írni. Figyelembe van-e véve a szállítási költség amikor a növényvédő szereket hozzák a kerthez stb stb. Nem ez a feladat.

Erős információ hiány melletti döntés a feladat, ahol csak az általam felvázolt információ elérhető. Bármi, amit ehhez hozzáteszel mint információ igény, azonnal kilépsz vele a feladat kereteiből.

Köszönöm és örülök az ötleteknek és remélem nem veszed sértésnek amikor azt írom, hogy nem ez a feladat.

Nincs semmi sértődés, csak próbálom a gyakorlatban is elhelyezni a megoldásodat. :)

Nem lehetséges, hogy a leírt módszer kb. lényegtelen, és az igazi kihívás valójában a súlyok meghatározása? Ha ez megvan, onnantól csak egy jól felparaméterezett Solver kell.

információ hiány van a döntésnél, te pedig kreálsz kérdéseket az információra vonatkozólag

Ez valószínűleg igaz, de akkor már a súlyokat sem fogod tudni beállítani, nem?

Velem már sinexton láthatólag nem áll a szóba, így bátran folytatom a trollkodásomat.

Régi "poénom" amikor ehhez hasonló dolog mélységét kívánom megérteni, hogy megkérdezem:

3 alma + 2 körte az mennyi dinnye? :) 

Bármilyen fura, az optimum keresés valami ilyesmi. :)

Szerintem ott van a baj, hogy túlságosan gazdasági hangsúllyal nézem (nézzük?) a problémát. Lehet, hogy az elméleti matematikában ez egy nagy áttörés, mittudomén, nem értek hozzá (sajnos, pedig érdekes téma).

Ha viszont üzletileg nézem, akkor nálam fordítottak lennének a prioritások: az inputokat kell pontosan látni (miből, mennyit, menyiért termelünk, mennyit, mennyiért adunk el, kinek, mikor, stb.), és abból egy elnagyolt modellel már lehet elfogadható eredményt kapni. Az elmélet, amit itt olvasok, meg közben az, hogy a modell legyen nagyon fasza, a súlyokat meg "majd megállapítjuk valahogyan". :)

Ha akár egyetlen kombináció jobb a többinél, ott már létjogosultsága van az optimalizálásnak, ha van rá lehetőség és megéri. Gondolom egyetértesz.

Hogy melyik költséget mennyivel csökkentjük, nem mindegy. A fenti gyümölcs példa talán a legjobb analógia.

Hogy a fontossági súly hogyan kerül megállapításra, az nem tárgya a jelenlegi feladatnak.

Nem rossz amiket mondasz, csak nekem konkrét ez a matematikai feladat amit kutatok és jelenleg nincs kapacitásom sajnos a többi kérdés mély kibontására, mely kérdésenként sok órát vehetne el.

A fentihez keresek lehetséges megoldásokat. Előző részben adtam 3 lehetséges megoldást, ebben a blogban pedig 1-et. Vizsgálom és kutatom ezek viselkedését és hatását, és hogy hogyan ismerhető meg és milyen garanciák halmozhatók fel ha vannak, vagy milyen egyéb megismerhető szempontok létezhetnek.

Most jelenleg ezen van a fókuszom, ezt tartom izgalmasnak, mert extrém kevés információ melletti döntésről beszélünk. Amikor sok infó van és rengeteg módon neki lehet állni, ott adottak lehetnek a dolgok.

Egyrészt a mellbőség sokkal jelentősebben kéne hogy szerepeljen, másrészt ha lenne olyan szolgáltatás, amit te alkudsz ki valahogy, akkor működne a dolog. De olyan szerintem nincs, hogy a 60 eurós csomag kevés, de 100 euró meg már sok. Szerintem nincs olyan szolgáltató, aki azt mondaná, hogy a te igényeidnek a 863 MB/s felelne meg, ne fizess 100 eurót az 1 GB/s csomagért, neked 86.3-ért adunk egyet, imádni fogod!

Ezzel azt akarom mondani, hogy ha kvantált halmaz elemei közül kell választani, akkor a számított eredmény fölötti csomagot kell választani, vagy még eggyel nagyobbat, gondolva a jövőre.

Debian - The "What?!" starts not!
http://nyizsa.blogspot.com

Szerkesztve: 2022. 12. 27., k – 09:41

-

Ne felj az osszetett szavaktol! Hasznald oket:

Költségcsökkentés

Példa valósabb helyzetre, mely remélem segít jobban azonosulni a kérdés létjogosultságával:

Egy kereskedelmi cégnek van 1000 terméke, melyek forgatásához X tőke kell (átlagosan, nyilván ez is fluktuál). A cégnek sok vesztesége keletkezik az utóbbi időben, ezért a tőkéjét Y-ra kell csökkentenie. Például a bank már csak kevesebb tőkét hitelez.

Döntenie kell, hogy melyik termékből csak mennyit tartson raktáron. Értelemszerűen kieshetnek termékek, de azt vehetjük úgy is, hogy túl kicsi lett a szorzója.

A termékeknek van egy világosan meghatározható fontossága rengeteg szempont alapján. Nem csak az egységnyi idő alatt átlagban termelt profit, hanem hogy mennyi tőkéből tudja termelni ezt a profitot, milyen bizonytalanság mellett stb.

Nyilván szinte végtelen dolog befolyásolja, hogy a jövőre vonatkoztatva mi a legjobb döntés. Ennyire részletesen ne menjünk bele, hanem a példa egyszerűségéért maradjunk a fenti kettő feltételnél.

Melyik terméket milyen arányban csökkentsük? Ha kidobunk termékeket, akkor sérül a diverzitás, mely nagyban hozzájárul a bevételhez. Tehát hiába kisebb fontosságúak üzletileg bizonyos termékek, akkor is szükség van rájuk.

 

Másik példa:

Egy komplex céges folyamatban rengeteg faktor vesz részt. Céges jűtművek költsége, személyi állomány bónusza, elvégzett feladatok hatékonysága és mennyisége, céges telephelyek költsége, gépek alkatrészei, szerszámok stb. Csökkentenie kell a cégnek a havi költséget. Ehhez megállapításra került a faktorok egymáshoz képesti relatív fontossága (ne menjünk bele hogyan, az másik kérdés). Hol kezdjük és mennyivel a csökkentést.

Természetesen végtelen hosszúra lehet fogni az elemzést. Végtelen az összefüggések száma és túl nagy az információ hiány, csak úgy mint az életben általában. Mégis dönteni kell.

Van rá egzakt megoldásom, csak kutatok további lehetőségeket. Azt szerettem volna felvázolni a blogomban, hogy mennyire nehéz és nem egyértelmű a megoldás.

Azt értem (érteni vélem :)), hogy mi történik a modelledben, de az első példának ("Egy kereskedelmi cégnek van 1000 terméke...") tuti nem így állnék neki.

Illetve nekem van egy kis logikai ellentmondás is benne: "Értelemszerűen kieshetnek termékek" vs "Ha kidobunk termékeket, akkor sérül a diverzitás, mely nagyban hozzájárul a bevételhez"

Megoldás szempontjából számomra az a kérdés, hogy mi van, ha csak ennyi információt ismerünk. Mivel arra irányul a kutatásom, amikor viszonylagosan extrém kevés infó áll rendelkezésre. A példáknál biztosan lehetne jobbat írni, jelenleg ezeket tudom nem túl messzi analógiáknak bemutatni.

Önmagában igaz, bár arra nem fogadnék, hogy minden esetben. Van az auchanos benzinkút, ikeás húsgolyó, stb., ami behúzza a vásárlót, ezért nettó veszteséggel is megéri csinálni, és vannak az olyanok, amikor a szép emlékek miatt lélegeztetőgépen tartanak egy félhalott üzletágat. Meg a kettő között kb. bármi. :)

Lehet el kellene olvasnom az elozo bejegyzest meg egyszer, de a "fontossagi suly" fogalmat nem tudom hova rakni. Mar az eredeti koltsegeknel, (100, 30, 5) sem stimmel az (5, 19, 40), a vegeredmenynel pedig nyilvan az egyeni kenyszer-relaxaciod szabja meg a vegeredmenyt.

Amikor a leirasra ranezek, mindig az ugrik be, hogy a+b+c = 80 at akarsz, hogy azok tukrozzek az (5, 19, 40) aranyt, de akkor trivialis a megoldas. 

Szoval itt van valami elhallgatott feltetel, informacio, hogy te hogyan szeretned kezelni a "fontossagi sulyokat". (azt hiszem multkor elmagyaraztad, hogy a koltsegek valtozasara is van valami feltetel?). 

Csak arra akarok kilyukadni, hogy latszolag valamilyen szokatlan problemat irsz le, szamomra pontatlanul. Biztos van ertelme a feladatnak a munkad soran, de en nem tudom hova tenni. Az a gondom, hogy ha en maskepp oldanam meg, valoszinuleg elohoznal egy uj informaciot amire mutathatnal, hogy miert a te modszered kell oda. 

Azt sem ertem, hogy jon be az eloszlas szorasa mindossze ket ertekre "elozo vs uj suly", valamint mit ad hozza a minimalizalo eljaras ehhez?

Igy latszolag van 2-3 ujitas is, a problemafelvetesnel, a kenyszerek relaxaciojanal es az optimalizacional, amibe egyenken bele fognak kotni az emberek. Emiatt jo, ha vagy megoldasz egy ismert problemat, vagy megadsz egy osszehasonlitasi merteket, miert jobb A modszer mint B. Te is mutatsz most egy masik szamsort, mint az elozo blogban, miert jobb a mostani?

Az összehasonlítási mértéket kutatom.

A probléma nem alul definiált, ahogy benny írta. Bármilyen matematikai problémát definiálhatok, az soha nem lesz a megoldás szempontjából alul definiált, mert pont ez a cél, hogy csak ennyi ismeretet vizsgáljak.

Egyelőre adtam 4 megoldást, ezek implikációit vizsgálom.