eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › zadanie optymalizacyjne
Ilość wypowiedzi w tym wątku: 56

  • 21. Data: 2012-09-25 19:47:40
    Temat: Re: zadanie optymalizacyjne
    Od: Kacper Rzepecki <n...@k...pl>

    On 2012-09-25 13:22, M.M. wrote:
    > Jest N-elementowy ciag parametrow p[1..N] i N-elementowy ciag argumentow x[1..N]. W
    moim problemie obecnie N jest rowne 8, ale potem bedzie wieksze. Zarowno parametry
    jak i argumenty to liczby rzeczywiste. Parametry p sa z przedzialu 1 <= p <= P, gdzie
    P z reguly jest mniejsze od 10. Suma argumentow x zawsze musi byc rowna zero z
    dokladnoscia przynajmniej czterech miejsc po przecinku (najlepiej szesciu). Ponadto
    kazdy argument x musi byc wiekszy lub rowny zero.
    >
    > Jest kilka funkcji liniowych (obecnie mam trzy, ale bedzie wiecej):
    > f1(p,x) = suma od 1 do N z1[j] * x[j];
    > f2(p,x) = suma od 1 do N z2[j] * x[j];
    > f3(p,x) = suma od 1 do N z3[j] * x[j];
    > gdzie zi[j] moze przyjmowac wartosc zero, jeden, albo p[j].
    >
    > Ciagi p i z sa danymi w zadaniu. Szukamy takiego ciagu x ktory zmaksymalizuje
    minimum:
    > max( min( f1, f2 , f3 )).
    >
    > Dostosowalem do tego zdania symulowane wyzarzanie. Znajduje rozwiazanie po okolo
    50mln iteracji, co zajmuje na procesorze i3 okolo 4-5 sekund. Niestety dopuszczalny
    czas to 0.03s.
    >
    > Da sie to jakos szybciej policzyc?
    > Pozdrawiam!
    >
    >


    Popraw mnie, jeżeli się mylę ale czy nie da się przekształcić tego
    problemu do serii problemów programowania liniowego? W każdym problemie
    zakładasz że jedna z twoich funkcji f jest minimalna (i zabezpieczasz to
    założenie odpowiednimi ograniczeniami) po czym dokonujesz jej
    maksymalizacji.

    Załóżmy, że funkcji f i wektorów z mamy K. Układasz K problemów PL z
    których każdy jest postaci (k=1..K):

    max f_k

    przy ograniczeniach:

    (minimalnosc funkcji f_k)
    f_k <= f_1
    ...
    f_k <=f_K

    (definicje funkcji f)
    f_1 = sum(z1 * x)
    ...
    f_K = sum(z_K * x)

    (ograniczenia na x)
    sum(x) = 1
    x>=0

    Rozwiązujesz każdy z problemów, uzyskujesz K wyników, wybierasz
    najmniejszy.

    Plusy są takie, że po pierwsze twoje rozwiązanie jest dokładne, po
    drugie odrywasz się od ograniczenia na wartości parametru p. Jeżeli
    chodzi o wydajność... to musisz przetestować :) Coś mi umknęło?


    --
    Pozdrawiam
    Kacper Rzepecki





  • 22. Data: 2012-09-25 19:52:18
    Temat: Re: zadanie optymalizacyjne
    Od: Kacper Rzepecki <n...@k...pl>

    On 2012-09-25 19:47, Kacper Rzepecki wrote:
    >
    >
    > Rozwiązujesz każdy z problemów, uzyskujesz K wyników, wybierasz
    > najmniejszy.

    największy


  • 23. Data: 2012-09-25 19:54:16
    Temat: Re: zadanie optymalizacyjne [OT]
    Od: kenobi <p...@g...com>

    sorki jak bede chial popisac z nudziarzem to
    do ciebie sie odezwe, ale szczerze mowiac to
    watpie


  • 24. Data: 2012-09-25 21:16:36
    Temat: Re: zadanie optymalizacyjne
    Od: "M.M." <m...@g...com>

    W dniu wtorek, 25 września 2012 19:47:42 UTC+2 użytkownik Kacper Rzepecki napisał:
    > Popraw mnie, jeżeli się mylę ale czy nie da się przekształcić tego
    > problemu do serii problemów programowania liniowego? W każdym problemie
    > zakładasz że jedna z twoich funkcji f jest minimalna (i zabezpieczasz to
    > założenie odpowiednimi ograniczeniami) po czym dokonujesz jej
    > maksymalizacji.

    Nie jestem pewny, ale chyba sie mylisz. Czy takie zadanie miesci sie w ramach
    programowania liniowego. Jesli pozostale funkcje przerobimy na warunki, to funkcja
    celu stanie sie jakas dziwna: jej wartosc nie bedzie zalezala tylko od
    optymalizowanej funkcji, ale takze od warunkow. Jesli ktorys z warunkow spadnie
    ponizej optymalizowanej funkcji, to funkcja celu bedzie rowna temu warunkowi. Wlasnie
    ulozylem takie zadanie w calcu i uzylem slovera. Ladnie policzyl dla pierwszej
    funkcji, ale dla drugiej krzyknal ze zadanie jest nierealistyczne. Nie umial
    maksymalizowac drugiej funkcji pod warunkiem ze jest mniejsza od wszystkich
    pozostalych funkcji. Moze sie zdarzyc ze jedna z funkcji zawsze bedzie wieksza od
    ktorejs z pozostalych dla dowolnych wartosci x.


  • 25. Data: 2012-09-25 22:11:47
    Temat: Re: zadanie optymalizacyjne
    Od: bartekltg <b...@g...com>

    W dniu 2012-09-25 13:22, M.M. pisze:

    Trochę gdybania i gorszych metod. Jak Ci się spieszy,
    leć od razu do 'rozwiązanie właściwe'

    > Jest N-elementowy ciag parametrow p[1..N] i N-elementowy ciag argumentow x[1..N]. W
    moim problemie obecnie N jest rowne 8,
    >ale potem bedzie wieksze. Zarowno parametry jak i argumenty to liczby rzeczywiste.
    Parametry p sa z przedzialu 1 <= p <= P,
    >gdzie P z reguly jest mniejsze od 10.


    Warunek A:
    >Suma argumentow x zawsze musi byc rowna zero

    Super. x1+.. +x8 = 0

    Warunek b
    > Ponadto kazdy argument x musi byc wiekszy lub rowny zero.

    ok.
    x1>=0
    x2>=0
    ...
    x8>=0

    Z drugiej storny A mówi, że
    x1+.. +x8 = 0
    -x1 = x2+...+x8
    Ale B! x2>=0, x8>=0, więc
    -x1 = x2+...+x8 >= 0

    x1<=0

    Tak samo z pozostałymi. Z Twoich warunków x=0 i tyle.

    Dalej zakładam, że miało być x1+x2+...+x8 = 1

    Zamiast jeden można podstawić sobie epsylon.
    Pamiętaj, że wynik będzie najzwyczajniej w świecie
    proporcjonalny do tego epsylona. To liniowe jest.
    100 razy dalej od sum x_i =0, sto razy większy wynik.


    > Jest kilka funkcji liniowych (obecnie mam trzy, ale bedzie wiecej):
    > f1(p,x) = suma od 1 do N z1[j] * x[j];
    > f2(p,x) = suma od 1 do N z2[j] * x[j];
    > f3(p,x) = suma od 1 do N z3[j] * x[j];
    > gdzie zi[j] moze przyjmowac wartosc zero, jeden, albo p[j].
    >
    > Ciagi p i z sa danymi w zadaniu. Szukamy takiego ciagu x ktory zmaksymalizuje
    minimum:
    > max( min( f1, f2 , f3 )).

    Minimum jest z tych 3 funkcji, a po czym jest maksimum?
    Matematyczna precyzacja nigdy nie szkodzi, a zmniejsza
    liczbę niepotrzebnych postów:)
    max_{x}( min( f1, f2 , f3 )). :)

    > Dostosowalem do tego zdania symulowane wyzarzanie. Znajduje rozwiazanie po okolo
    50mln iteracji,
    > co zajmuje na procesorze i3 okolo 4-5 sekund. Niestety dopuszczalny czas to 0.03s.

    > Da sie to jakos szybciej policzyc?

    Nie wyzarzaniem;) Już zwykłe MC będzie lepsze:)
    [Na serio, sprawdza się kiepsko, 100000 losowych daje
    wynik dość odległy o optymalnego. Dla losowych zi optymalnie
    bylo coś rzedu 7.3, a max z CMC (czyt chamskie MC) dawało 6.7]


    Jakakolwiek 'numeryczna' metoda minimalizacji sprawdzi się
    znacznie lepiej. W końcu to tylko kawałkami liniowe funkcje
    na 7 (N-1) wymiarowej przestrzeni (a właściwie kostki).

    F = min( sum z1[j] * x[j],sum z2[j] * x[j], sum z3[j] * x[j] )

    W dodatku wypukła/wklęsła.

    Im prostsza, tym lepsza. Matalbowskiego fminsearch trzeba nieco
    podpuscić, aby to dobrze rozwiązywał.


    Ale nadal, to funkcje liniowe. Gdzie będzie rozwiązanie?
    Na rogach, na przecięciu f1=f2=f3 i brzegu kostki/warunków
    sumowania, albo brzego i równości dwóch.
    W rzeczywistości obstawiam równość wszystkich trzech (mają
    dodatnie współczynniki...)

    Tyle, że to tez strzelanie z armaty do wrócla, i to
    zupełnie nie tą amunicją co trzeba.


    Idzmy dalej. Popatrz na to geometrycznie.
    z1 z2 z3 to takie wektorki sterczące w ściśle dodatnią
    'ćwiartkę' przestrzeni. Warunek sum xi = 1 to wybór
    pewnej hiperpłaszczyzny.
    Wybieramy jakiś wektor x z tej płaszczyzny, rzutujemy
    na wektorki z1,z2,z3 i bierzemy najmniejszy rzut.
    Bierzemy największy.


    x (po prostu z R^N)
    popatrzmy na 'hipsometry'. Płaszczyzna stałęj wartośći.
    Weźmy jakąś wartość. b.
    Wyrysujmy
    z1*x==b
    z2*x==b
    z3*x==b
    ...

    Wyjdą z tego trzy hiperpłaszczyzny. One nas
    ograniczają. Jednocześnie próbujemy dostać
    się jak najbliżej centrum.
    Powstanie nam fragment wielościanu wypukłego.

    [Ciach mętna interpretacja geometryczna]

    ********ROZWIĄZANIE WŁAŚCIWE*****************
    Mamy tutaj zwyczajne zagadnienie programowania liniowego z warunkami:

    Najpierw je zdefiniujemy, a potem pokażemy, że to to samo.


    z1*x >= 1
    z2*x >= 1
    z3*x >= 1

    x>0 (w znaczeniu x[i] > 0)

    oraz funkcją celu [1,1,1,1, 1,1,1,1] *x i chcemy ją _minimalizować_


    Z algorytmu simplex czy jakiejkolwiek innej metody uzyskujesz
    rozwiązanie x_1 spełniające te warunki i maksymalizujące
    funkcję celu.

    Rozwiązaniem oryginalnego problemu jest x_2 = x_1/(suma(x_1)).


    Dlaczego? No to szkic dowodu:

    Niech b = 1/suma(x1).

    Po przeskalowaniu x-ów przez b mamy

    suma(x_2)=1 i spełnia

    z1*x_2 >= b
    z2*x_2 >= b
    z3*x_2 >= b
    czyli min (fi,f2,f3)>=b;) Wiemy, że równe.



    Niech inny x3, taki , ze suma(x3)=1
    jest lepszym 'maksimum z minimum'
    z1*x_3 >= c
    z2*x_3 >= c
    z3*x_3 >= c

    c > b

    Wtedy

    x3/c spełnia nierówności z programowania liniowego
    (zi * (x_3/c)) <= 1 oraz
    sum (x_3/c) = 1/c < 1/b, czyli jest lepszym minimum
    funkcji celul z programowania liniowego. To jest
    sprzeczne z tym, że x2 jest rozwiązaniem programowania
    liniowego.

    [koniec]


    W 0.03 s to kilogramy takich zagadnień oblecisz.

    pzdr
    bartekltg




  • 26. Data: 2012-09-25 22:25:16
    Temat: Re: zadanie optymalizacyjne
    Od: kenobi <p...@g...com>

    ale jaka to bedzie konkretnie odpowiedz bo mi
    wydawalo sie ze wynikowe x to moze byc wazona suma z1 z2 z3 tylko nie wiem jakie to
    sa wspolczynniki tych wag, chodzi o taki unormowany wektor x gdzie
    "dot(x,z1) == dot(x,z2) == dot(x,z3)"





  • 27. Data: 2012-09-25 22:35:32
    Temat: Re: zadanie optymalizacyjne
    Od: bartekltg <b...@g...com>

    W dniu 2012-09-25 22:11, bartekltg pisze:

    Trochę poprawiłem czytelność.

    Zajmujemy się najpierw zmodyfikowanym problemem,
    potem pokażemy, że to dokładnie to samo.


    Rozwiązujemy następujące zadnienie zmodyfikowane:
    [programowanie liniowe]


    x*z1 > = 1
    x*z2 > = 1
    x*z3 > = 1
    ...
    x*zn > = 1

    z minimalizowaną funkcją celu sum(x)
    (czy jak kto woli x*[1,1,....1] )

    Za standardowym warunkiem x_i > 0
    ****

    Rozwiązaniem jest jakiś x1.

    Oznaczmy b = 1/sum(x1)



    Twierdzimy, że rozwiązaniem oryginalnego problemu jest
    wtedy x2 = x1*b = x1 / (sum(x1)) - ten sam wektor
    znormalizowany do interesującej nas (hiper)płaszczyzny.


    Dlaczego to jest to samo?

    sum (x2_i) = 1 // zgadza się z tym, co ma być

    x*z1 > = b
    x*z2 > = b
    x*z3 > = b
    ...
    x*zn > = b

    Czyli min (x*z1, ..., x*zn) >=b.
    [skądinąd wiemy, ze co najmniej jedną nierówność wysyca]

    Pozostaje pytanie, czy nie da się lepiej niż b.

    Niech x_3 będzie takim lepszym rozwiązaniem oryginalnego
    zagadnienia.

    sum (x3_i) = 1

    x*z1 > = c
    x*z2 > = c
    x*z3 > = c
    ...
    x*zn > = c

    Gdzie c > b.

    Wtedy x4 = x3/c spełnia

    x*z1 > = 1
    x*z2 > = 1
    x*z3 > = 1
    ...
    x*zn > = 1

    oraz sum (x_4) = 1/c

    Ale to to samo, co funkcja celu w zagadnieniu zmodyfikowanym.
    a 1/c < 1/b.

    Jest to sprzeczne z tym, że x2 jest optymalne dla tego
    zmodyfikowanego problemu (prog lin).

    Więc x2 = x1 / sum(x1) jest rozwiązaniem oryginalnego problemu.



    pzdr
    bartekltg




  • 28. Data: 2012-09-25 22:57:32
    Temat: Re: zadanie optymalizacyjne
    Od: bartekltg <b...@g...com>

    W dniu 2012-09-25 22:25, kenobi pisze:
    > ale jaka to bedzie konkretnie

    Konkretnie:

    Piszemy zagadnienie programowania liniowego w postaci:

    x*z1 > = 1
    x*z2 > = 1
    x*z3 > = 1
    ...
    x*zn > = 1

    x_i > 0

    Funkcja celu = [1,1...1]*x , minimalizowana.

    Rozwiązujemy. Np algorytmem simplex.
    Dostajemy y.

    Ostatecznym wzorkiem na nasze rozwiązanie jest
    z = y / (sum (y_i))

    Czyli y przeskalowane tak, by jego pierwsza norma była =1.


    Niestety, nie wszystkie zagadnienia da się rozwiązać
    wzorkiem. Ten problem jest równoważny problemowi programowania
    liniowego, więc jesteśmy niemal pewni, że wzorkiem nie da się
    go rozwiązać.
    Ale często, jak nie ma wzorku, to jest algorytm.

    Na rozwiązanie układu równań też nie ma rozsądnego wzorku,
    a jest algorytm.

    > odpowiedz bo mi
    > wydawalo sie ze wynikowe x to moze byc wazona suma z1 z2 z3 tylko
    > nie wiem jakie to sa wspolczynniki tych wag, chodzi o taki unormowany
    > wektor x gdzie
    > "dot(x,z1) == dot(x,z2) == dot(x,z3)"

    Nie, nie zawsze rozwiązanie będzie kombinacją liniową z1,z2,z3.

    Nie, nie zawsze rozwiązanie będzie spełniać
    dot(x,z1) == dot(x,z2) == dot(x,z3)

    To ostatnie łatwo pokazać.

    z1 = [2,1,1,1,1,1,1,1]
    z2 = [5,5,5,5,5,5,5,5]
    z3 = [8,9,7,5,6,9,8,7]

    Optymalne x wynosi tam x=[1,0,0,0,0,0,0,0].

    _Ani jedna_ równość z trójki
    dot(x,z1) == dot(x,z2) == dot(x,z3)
    nie zachodzi.

    pzdr
    bartekltg




  • 29. Data: 2012-09-25 22:58:15
    Temat: Re: zadanie optymalizacyjne
    Od: Kacper Rzepecki <n...@k...pl>

    On 2012-09-25 21:16, M.M. wrote:
    > W dniu wtorek, 25 września 2012 19:47:42 UTC+2 użytkownik Kacper Rzepecki napisał:
    >> Popraw mnie, jeżeli się mylę ale czy nie da się przekształcić tego
    >> problemu do serii problemów programowania liniowego? W każdym problemie
    >> zakładasz że jedna z twoich funkcji f jest minimalna (i zabezpieczasz to
    >> założenie odpowiednimi ograniczeniami) po czym dokonujesz jej
    >> maksymalizacji.
    >
    > Nie jestem pewny, ale chyba sie mylisz. Czy takie zadanie miesci sie w ramach
    programowania liniowego. Jesli pozostale funkcje przerobimy na warunki, to funkcja
    celu stanie sie jakas dziwna: jej wartosc nie bedzie zalezala tylko od
    optymalizowanej funkcji, ale takze od warunkow. Jesli ktorys z warunkow spadnie
    ponizej optymalizowanej funkcji, to funkcja celu bedzie rowna temu warunkowi. Wlasnie
    ulozylem takie zadanie w calcu i uzylem slovera. Ladnie policzyl dla pierwszej
    funkcji, ale dla drugiej krzyknal ze zadanie jest nierealistyczne. Nie umial
    maksymalizowac drugiej funkcji pod warunkiem ze jest mniejsza od wszystkich
    pozostalych funkcji. Moze sie zdarzyc ze jedna z funkcji zawsze bedzie wieksza od
    ktorejs z pozostalych dla dowolnych wartosci x.
    >

    Chyba sie jednak nie myle, dlaczego to nie mialby byc problem PL?
    Wszystkie ograniczenia i funkcja celu sa w postaci liniowej.

    Jeżeli chodzi o to że funkcja celu zależy od warunków: Twój podproblem
    PL szuka maksymalnej wartości funkcji f_k przy założeniu że jest ona
    mniejsza równa od pozostałych (czyli minimalna). W ujęciu formalnym ona
    nie zależy od warunków. Warunki zabezpieczają to, że to akurat f_k jest
    funkcją minimalną. Nie ma w tym niczego dziwnego - to typowe przy PL.

    Jeżeli jeden z problemów jest niespełnialny to znaczy ze dana funkcja
    celu nigdy nie bedzie mniejsza równa od pozostałych, stad też nie moze
    byc rozwiazaniem twojego problemu - to jest ok, spojrz chociazby na taki
    przyklad:

    z1 = {0},
    z2 ={1},
    f_1 = 0 * x
    f_2 = 1 * x

    W takim przypadku f_2 nigdy nie bedzie minimalna. Stad twoj "podproblem"
    dla k=2 nie ma rozwiazania dopuszczalnego. Co nie zmienia faktu ze
    calosc dziala.

    Wydaje mi się,że możesz nawet ułożyc jeden problem PL który zagreguje
    wybór najlepszego rozwiązania spośród twoich "podproblemow".
    Prawdopodobnie musialbys zastosowac zmienne sztuczne.


  • 30. Data: 2012-09-25 22:58:46
    Temat: Re: zadanie optymalizacyjne
    Od: "M.M." <m...@g...com>

    W dniu wtorek, 25 września 2012 22:11:49 UTC+2 użytkownik bartekltg napisał:
    > Trochę gdybania i gorszych metod. Jak Ci się spieszy,
    > leć od razu do 'rozwiązanie właściwe'
    Ok, po mału, bo nie ogarniam :)

    > Super. x1+.. +x8 = 0
    To moja pomyłka, przepraszam.
    > Dalej zakładam, że miało być x1+x2+...+x8 = 1
    Tak, o to chodzilo.
    > Zamiast jeden można podstawić sobie epsylon.
    Tak.
    > Pamiętaj, że wynik będzie najzwyczajniej w świecie
    > proporcjonalny do tego epsylona. To liniowe jest.
    > 100 razy dalej od sum x_i =0, sto razy większy wynik.
    Tak.


    > Minimum jest z tych 3 funkcji, a po czym jest maksimum?
    Maksimum jest po x. Wektor p i sposob budowania macierzy z
    ktos nam narzuca. Mozemy operowac tylko na x.

    > Nie wyzarzaniem;) Już zwykłe MC będzie lepsze:)
    Zgadza się. Moja wersja procedury optymalizacyjnej
    jest dość odlegla od wyzarzania, jednak nie wiem jak
    jak nazwac i mowie "odmiana wyzarzania".

    > Jakakolwiek 'numeryczna' metoda minimalizacji sprawdzi się
    > znacznie lepiej. W końcu to tylko kawałkami liniowe funkcje
    > na 7 (N-1) wymiarowej przestrzeni (a właściwie kostki).
    > F = min( sum z1[j] * x[j],sum z2[j] * x[j], sum z3[j] * x[j] )
    Chyba tak.

    > W dodatku wypukła/wklęsła.
    Raczej niewypukla/niewklesla. Ma dużo plaskich miejsc. Glupia procedura
    optymalizacyjna nie wie gdzie skoczyc gdy jest na plaskim miejscu.

    > Im prostsza, tym lepsza. Matalbowskiego fminsearch trzeba nieco
    > podpuscić, aby to dobrze rozwiązywał.
    Gdy moja podpuszczalem przez rozne modyfikacje funkcji celu, to
    dzialalo ciut gorzej. Moze zle to robilem.

    > Ale nadal, to funkcje liniowe. Gdzie będzie rozwiązanie?
    > Na rogach, na przecięciu f1=f2=f3 i brzegu kostki/warunków
    Nie jest az tak prosto. Czasami dla zadnych x nie zachodzi f1=f2=f3.
    Wtedy rozwiazanie jest np. gdy f1=f2, a f3>f1.

    > sumowania, albo brzego i równości dwóch.
    > W rzeczywistości obstawiam równość wszystkich trzech (mają
    > dodatnie współczynniki...)
    Sprawdzalem, to zwodzi. Czesto jest f1=f2 i f3>f1 dla dowolnych x.




    > Idzmy dalej. Popatrz na to geometrycznie.
    > z1 z2 z3 to takie wektorki sterczące w ściśle dodatnią
    > 'ćwiartkę' przestrzeni. Warunek sum xi = 1 to wybór
    > pewnej hiperpłaszczyzny.
    Jasne.


    > Wybieramy jakiś wektor x z tej płaszczyzny, rzutujemy
    > na wektorki z1,z2,z3 i bierzemy najmniejszy rzut.
    > Bierzemy największy.
    Hmmm nie kumam.

    > x (po prostu z R^N)
    > popatrzmy na 'hipsometry'. Płaszczyzna stałęj wartośći.
    > Weźmy jakąś wartość. b.
    > Wyrysujmy
    > z1*x==b
    > z2*x==b
    > z3*x==b
    Jasne.

    > Wyjdą z tego trzy hiperpłaszczyzny. One nas
    > ograniczają. Jednocześnie próbujemy dostać
    > się jak najbliżej centrum.
    Dlaczego jak najblizej centrum?
    > Powstanie nam fragment wielościanu wypukłego.
    > [Ciach mętna interpretacja geometryczna]
    Bylo ciekawie :)

    > Mamy tutaj zwyczajne zagadnienie programowania liniowego z warunkami:
    > Najpierw je zdefiniujemy, a potem pokażemy, że to to samo.
    > z1*x >= 1
    > z2*x >= 1
    > z3*x >= 1
    W oryginalne bylo zi*x >= 0. zi[j] może zawierac {0,1,p[j]}. Rozumiem
    ze zmieniasz w okreslonym celu.

    > x>0 (w znaczeniu x[i] > 0)
    W oryginale x[i]>=0, ale ok.

    > oraz funkcją celu [1,1,1,1, 1,1,1,1] *x i chcemy ją _minimalizować_
    > Z algorytmu simplex czy jakiejkolwiek innej metody uzyskujesz
    > rozwiązanie x_1 spełniające te warunki i maksymalizujące
    > funkcję celu.
    Nie wiem co oznacza ten zapis [1,1,1...1]*x.

    > Rozwiązaniem oryginalnego problemu jest x_2 = x_1/(suma(x_1)).
    > Dlaczego? No to szkic dowodu:

    > Niech b = 1/suma(x1).
    > Po przeskalowaniu x-ów przez b mamy
    > suma(x_2)=1 i spełnia
    > z1*x_2 >= b
    > z2*x_2 >= b
    > z3*x_2 >= b
    > czyli min (fi,f2,f3)>=b;) Wiemy, że równe.

    > Niech inny x3, taki , ze suma(x3)=1
    > jest lepszym 'maksimum z minimum'
    > z1*x_3 >= c
    > z2*x_3 >= c
    > z3*x_3 >= c
    > c > b

    > Wtedy
    > x3/c spełnia nierówności z programowania liniowego
    > (zi * (x_3/c)) <= 1 oraz
    > sum (x_3/c) = 1/c < 1/b, czyli jest lepszym minimum
    > funkcji celul z programowania liniowego. To jest
    > sprzeczne z tym, że x2 jest rozwiązaniem programowania
    > liniowego.
    Na razie nic nie zrozumialem. Jutro sprobuje jeszcze raz
    przeczytac :)

    Pozdrawiam
    P.S.
    Solver liniowy w arkuszu nie rozwiazuje tego :/

strony : 1 . 2 . [ 3 ] . 4 ... 6


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: