Экономика стран

К сожалению, большинство людей, которые будут ими затронуты почти весь мир, не будут иметь никакого влияния на результат. Вести Экономика Дайджест иностранной прессы за 14 августа.
Вести Экономика Греции снова придется списывать долги Греция не сможет самостоятельно расплатиться по долгам, и понадобится новая реструктуризация долгов, чтобы спасти страну от банкротства.

Dynamiczne modele programowania.

Spis treści | Z powrotem | Dalej | Słownik pojęć

Programowanie dynamiczne jest obliczeniową metodą rozwiązywania problemów o określonej strukturze. Powstał i powstał w latach 1950-1953. dzięki pracy R. Bellmana na temat dynamicznych problemów zarządzania zapasami. W uproszczonej formule programowanie dynamiczne jest ukierunkowanym sekwencyjnym wyliczaniem opcji, które z konieczności prowadzi do globalnego maksimum.

Główne niezbędne właściwości zadań, do których można zastosować tę zasadę:

  1. Zadanie powinno być interpretowane jako n- stopniowy proces podejmowania decyzji.
  2. Zadanie musi być zdefiniowane dla dowolnej liczby kroków i mieć strukturę, która nie zależy od ich liczby.
  3. Rozważając problem k- stopniowy, należy określić pewien zestaw parametrów opisujących stan systemu, od którego zależą optymalne wartości zmiennych. Ponadto ten zestaw nie powinien się zmieniać wraz ze wzrostem liczby kroków.

  4. Wybór rozwiązania (kontroli) na k-tym kroku nie powinien wpływać na poprzednie decyzje, z wyjątkiem koniecznego przeliczenia zmiennych.

Problem wyboru trajektorii, problem sekwencyjnego podejmowania decyzji, problem wykorzystania pracy, zadanie zarządzania zapasami to klasyczne problemy programowania dynamicznego.

Zestawienie problemu programowania dynamicznego.

Rozważamy sformułowanie problemu programowania dynamicznego na przykładzie inwestycji związanych z dystrybucją środków między przedsiębiorstwami. W wyniku zarządzania inwestycjami system jest sekwencyjnie przenoszony ze stanu początkowego S0 do końcowego Sn . Przypuśćmy, że sterowanie można podzielić na n kroków, a decyzja jest podejmowana sekwencyjnie na każdym kroku, a kontrola to zestaw n krok po kroku. W każdym kroku konieczne jest zdefiniowanie dwóch typów zmiennych - zmiennej stanu systemu Sk , zmiennej sterującej xk . Zmienna Sk określa, które stany system może znajdować się na rozpatrywanym k-tym kroku. W zależności od stanu S w tym kroku można zastosować niektóre elementy sterujące, które charakteryzują się zmienną xk, która spełnia pewne ograniczenia i są nazywane poprawnymi. Powiedzmy. = (x 1, x 2, ..., x k, ..., xn) to sterowanie przenoszące system do stanu S0 do stanu Sn , a Sk to stan systemu na k-tym kroku sterowania. Następnie sekwencję stanów systemu można przedstawić jako wykres pokazany na rys. 2.11.

ryż 2.11

Zastosowanie akcji kontrolnej xk na każdym kroku przenosi system do nowego stanu S1 (S, xk) i przynosi pewien wynik Wk (S, xk) . Dla każdego możliwego stanu na każdym etapie, spośród wszystkich możliwych kontroli, wybierana jest optymalna kontrola x * k , tak że wynik, który jest osiągany w krokach od k do ostatniego n-tego, jest optymalny. Numeryczna charakterystyka tego wyniku nazywana jest funkcją Bellmana Fk (S) i zależy od liczby kroków k oraz stanu systemu S. Zadanie programowania dynamicznego jest sformułowane w następujący sposób: wymagane jest zdefiniowanie takiej kontroli który przenosi system ze stanu początkowego S0 do stanu końcowego Sn , w którym funkcja celu przyjmuje największą (najmniejszą) wartość F (S 0, ) => ekstr .

Rozważmy bardziej szczegółowo cechy modelu matematycznego programowania dynamicznego:

  1. problem optymalizacji jest sformułowany jako skończony wieloetapowy proces sterowania;
  2. funkcja celu (zysk) jest addytywna i jest równa sumie funkcji celu każdego kroku:
  3. wybór kontroli xk w każdym kroku zależy tylko od stanu systemu k na tym etapie Sk-1 i nie wpływa na poprzednie kroki (brak sprzężenia zwrotnego);

  4. stan systemu Sk po każdym kroku sterowania zależy tylko od poprzedniego stanu systemu Sk-1 i tego działania kontrolnego xh (bez skutku) i może być zapisany jako równanie stanu: Sk = fk (S k-1, xk), k = 1, n ;

  5. na każdym kroku kontrola xk zależy od skończonej liczby zmiennych kontrolnych, a stan systemu zależy od Sk - na skończonej liczbie parametrów;

Zasada optymalności i matematyczny opis procesu dynamicznej kontroli.
Metoda DP opiera się na zasadzie optymalności, sformułowanej po raz pierwszy w 1953 r. Przez amerykańskiego matematyka R.E. Bellmana: niezależnie od stanu systemu w wyniku dowolnej liczby kroków, w następnym kroku należy wybrać sterowanie, aby wraz z optymalnym zarządzanie na wszystkich kolejnych etapach doprowadziło do optymalnych zysków dla wszystkich pozostałych kroków, w tym zysków na tym etapie. Podczas rozwiązywania problemu na każdym kroku wybierana jest kontrola, która powinna prowadzić do optymalnego wzmocnienia. Jeśli podejmiemy wszystkie kroki jako niezależne, optymalną kontrolą będzie kontrola, która zapewni maksymalne wzmocnienie w tym konkretnym kroku. Jednakże, na przykład, kupując nowy sprzęt zamiast przestarzałego, pewne środki są wydawane na jego zakup, więc dochód z jego działania może być początkowo niewielki, aw nadchodzących latach nowy sprzęt będzie generował większy przychód. I odwrotnie, jeśli zostanie podjęta decyzja o pozostawieniu starego sprzętu w celu wygenerowania dochodu w bieżącym roku, w przyszłości doprowadzi to do znacznych strat. Ten przykład demonstruje następujący fakt: w procesach wieloetapowych kontrola na każdym konkretnym etapie musi być wybrana z uwzględnieniem jej przyszłego wpływu na cały proces. Ponadto, wybierając kontrolę na tym etapie, należy rozważyć możliwe opcje stanu poprzedniego kroku. Na przykład, przy ustalaniu kwoty środków zainwestowanych w przedsiębiorstwo w I - tym roku, należy wiedzieć, ile pieniędzy pozostało w dostawie do roku i ile dochodu uzyskano w poprzednim ( i -1) -tym roku. Dlatego przy wyborze sterowania krokowego należy wziąć pod uwagę następujące wymagania:

  1. możliwe wyniki poprzedniego kroku Sk-1 ;
  2. wpływ kontroli xk na wszystkie pozostałe kroki do końca procesu ( nk ).

W przypadku problemów z programowaniem dynamicznym pierwsze wymaganie jest brane pod uwagę poprzez przyjmowanie warunkowych założeń na każdym etapie dotyczących możliwych opcji wykonania poprzedniego kroku i przeprowadzenia optymalizacji warunkowej dla każdej z opcji. Spełnienie drugiego wymogu jest zapewnione przez fakt, że w tych problemach optymalizacja warunkowa jest przeprowadzana od końca procesu do początku.

Optymalizacja warunkowa

W pierwszym etapie rozwiązywania problemu, zwanym optymalizacją warunkową, funkcja Bellmana i optymalne sterowanie dla wszystkich możliwych stanów w każdym kroku, począwszy od ostatniego, są określane zgodnie z algorytmem odwrotnego przemiatania. W ostatnim, n-tym kroku, optymalna kontrola - x * n jest określana przez funkcję Bellmana: F (S) = max {Wn (S, xn)} , zgodnie z którym maksimum jest wybrane spośród wszystkich możliwych wartości xn i xn € X.
Dalsze obliczenia są wykonywane zgodnie z relacją powtarzalności łączącą funkcję Bellmana w każdym kroku z tą samą funkcją, ale obliczoną w poprzednim kroku. W formie ogólnej równanie to ma postać Fn (S) = max {Wn (S, xn) + Fk + 1 (Sn (S, xk)} xk X X.
To maksimum (lub minimum) jest określone przez wszystkie możliwe wartości k i S zmiennej sterującej X.

Bezwarunkowa optymalizacja

Po znalezieniu funkcji Bellmana i odpowiednich optymalnych elementów sterujących dla wszystkich kroków od n-tego do pierwszego, wykonywany jest drugi etap rozwiązywania problemu, zwany optymalizacją bezwarunkową. Wykorzystując fakt, że w pierwszym kroku ( k = 1 ) znany jest stan systemu - jest to jego stan początkowy S0 , można znaleźć optymalny wynik dla wszystkich n kroków i optymalną kontrolę w pierwszym kroku x1 , który zapewnia ten wynik. Po zastosowaniu tej kontroli system przejdzie do innego stanu S1 (S, x * 1) , wiedząc, że dzięki wynikom optymalizacji warunkowej można znaleźć optymalną kontrolę w drugim kroku x * 2 i tak dalej, aż do ostatniego n-tego kroku. Schemat obliczeniowy programowania dynamicznego można budować na modelach sieciowych, a także na algorytmach bezpośredniego wobulacji (od początku) i wobulacji zwrotnej (od końca do początku). Rozważmy przykłady rozwiązywania problemów o różnym charakterze, których treść wymaga wyboru zmiennych stanu i sterowania.

Spis treści | Z powrotem | Dalej | Słownik pojęć

Навигация сайта
Реклама
Панель управления
Календарь новостей
Популярные новости
Информация
Экономика стран www.mp3area.ru © 2005-2016
При копировании материала, ссылка на сайт обязательна.