I7X3S1 Wrzosek Pawel


Wojskowa Akademia Techniczna
im. Jarosława Dąbrowskiego
Wydział Cybernetyki
Modelowanie Matematyczne
Prowadzący: mgr inż. Michał Kapałka
Wykonał: Paweł Wrzosek I7X3S1
Opis problemu
Firma podjęła się stworzenia pewnego projektu informatycznego, składającego się z kilkunastu, równolegle
tworzonych podprogramów. Wstępne oszacowania wykazały, jaka ilośd kodu potrzebna jest do realizacji
funkcjonalności danego podprogramu. Przy projekcie zatrudnieni są wzyscy firmowi programiści  starsi i
młodsi, pracujący z różną wydajnością (liczoną jako średnia ilośd poprawnych linii kodu, jaką piszą przez
godzinę) i za różne stawki, ale wszyscy w takim samym wymiarze godzin. Aby skoordynowad pracę, przy
każdym podprogramie musi pracowad co najmniej jeden starszy programista.
Firma chce skooczyd projekt jak najszybciej, mieszcząc się jednocześnie w określonym budżecie.
Opis cech
·ð Lm  liczba podprogramów
·ð Lsp  liczba starszych programistów
·ð Lmp  liczba mÅ‚odszych programistów
·ð M  zbiór numerów podprogramów
·ð Zsp  zbiór numerów starszych programistów
·ð Zmp  zbiór numerów mÅ‚odszych programistów
·ð Ki  minimalne liczba linijek kodu w i-tym podprogramie 5ØVÜ = 1, 5Ø?Ü5ØZÜ
·ð WSPi  wydajnoÅ›d i-tego starszego programisty 5ØVÜ = 1, 5Ø?Ü5Ø`Ü5Ø]Ü
·ð WMPi  wydajnoÅ›d i-tego mÅ‚odszegoprogramisty 5ØVÜ = 1, 5Ø?Ü5ØZÜ5Ø]Ü
·ð PMPi  stawka godzinowa i-tego mlodszego programisty 5ØVÜ = 1, 5Ø?Ü5ØZÜ5Ø]Ü
·ð PSPi  stawka godzinowa i-tego starszego programisty 5ØVÜ = 1, 5Ø?Ü5Ø`Ü5Ø]Ü
·ð B  zaplanowany budżet
·ð K  rzeczywisty koszt wykonania projektu
·ð C  czas wykonania projektu (w godzinach)
·ð MSPi  zbiór numerów st. programistów pracujÄ…cych przy i-tym podprogramie 5ØVÜ = 1, 5Ø?Ü5ØZÜ
·ð MMPi  zbiór numerów mÅ‚. programistów pracujÄ…cych przy i-tym podprogramie 5ØVÜ = 1, 5Ø?Ü5ØZÜ
Zbiór wartości dopuszczalnych
5Ø?Ü5Ø`Ü5Ø]Ü 5Ø?Ü5ØZÜ5Ø]Ü
5Ø?Ü5ØZÜ
5ØKÜ5Ø\Ü = 5Ø?Ü5ØZÜ , ! , 5Ø?Ü5Ø`Ü5Ø]Ü , ! , 5Ø?Ü5ØZÜ5Ø]Ü , ! , 5Ø@Ü, 25ØAÜ , 5ØMÜ5Ø`Ü5Ø]Ü , 25ØAÜ , 5ØMÜ5ØZÜ5Ø]Ü , 25ØAÜ , 5Ø>Ü5ØVÜ, ! , 5ØJÜ5ØFÜ5ØCÜ5ØVÜ , ! , 5ØJÜ5Ø@Ü5ØCÜ5ØVÜ , ! ,
5ØVÜ=1
5ØVÜ=1 5ØVÜ=1
5Ø?Ü5Ø`Ü5Ø]Ü 5Ø?Ü5ØZÜ5Ø]Ü 5Ø?Ü5Ø`Ü5Ø]Ü 5Ø?Ü5ØZÜ5Ø]Ü
5ØCÜ5ØFÜ5ØCÜ5ØVÜ , !+ 5ØVÜ=1, 5ØCÜ5Ø@Ü5ØCÜ5ØVÜ , !+ 5ØVÜ=1 , 5Ø5Ü, !+ , 5Ø>Ü, !+ , 5Ø6Ü, ! , 5Ø@Ü5ØFÜ5ØCÜ5ØVÜ, 25ØAÜ , 5Ø@Ü5Ø@Ü5ØCÜ5ØVÜ , 25ØAÜ
5ØVÜ=1 5ØVÜ=1
Wybrane zwiÄ…zki
5ØEÜ5Ø\Ü = 5ØMÜ1, 5ØLÜ1, 5ØEÜ1 , 5ØMÜ2, 5ØLÜ2, 5ØEÜ12 , 5ØMÜ3, 5ØLÜ3, 5ØEÜ3 , 5ØMÜ4, 5ØLÜ4, 5ØEÜ4 , 5ØMÜ5, 5ØLÜ5, 5ØEÜ5 , 5ØMÜ6, 5ØLÜ6, 5ØEÜ6 , 5ØMÜ7, 5ØLÜ7, 5ØEÜ7
Z1  Co najmniej jeden starszy programista pracuje przy podprogramie
5ØLÜ1 = 5Ø?Ü5ØZÜ , 5Ø@Ü, 5ØMÜ5Ø`Ü5Ø]Ü, 5Ø@Ü5ØFÜ5ØCÜ5ØVÜ 5Ø?Ü5ØZÜ
5ØVÜ=1
5ØEÜ1 = 5ØYÜ5ØZÜ, 5ØZÜ, 5ØgÜ5Ø`Ü5Ø]Ü, 5ØZÜ5ØFÜ5ØCÜ5ØVÜ 5ØYÜ5ØZÜ " ! × 25ØAÜ 5ØZÜ5ØYÜ+2 : 5ØWÜ " 5ØZÜ5ØFÜ5ØCÜ5ØVÜ}
5ØVÜ=1
5ØVÜ"5ØZÜ 5ØWÜ "5ØgÜ5Ø`Ü5Ø]Ü
Z2  Każdy moduł musi zawierad odpowiednia liczbe linijek kodu
5Ø?Ü5Ø`Ü5Ø]Ü 5Ø?Ü5ØZÜ5Ø]Ü 5Ø?Ü5ØZÜ5Ø]Ü 5Ø?Ü5Ø`Ü5Ø]Ü
5ØLÜ2 = 5Ø@Ü, 5Ø6Ü, 5Ø?Ü5ØZÜ, 5Ø?Ü5Ø`Ü5Ø]Ü, 5Ø?Ü5ØZÜ5Ø]Ü , 5ØMÜ5ØZÜ5Ø]Ü , 5ØMÜ5Ø`Ü5Ø]Ü, 5Ø@Ü5ØFÜ5ØCÜ5ØVÜ 5ØVÜ=1, 5Ø@Ü5Ø@Ü5ØCÜ5ØVÜ 5ØVÜ=1 , 5Ø>Ü5ØVÜ 5Ø?Ü5ØZÜ , 5ØJÜ5Ø@Ü5ØCÜ5ØVÜ 5ØVÜ=1 , 5ØJÜ5ØFÜ5ØCÜ5ØVÜ 5ØVÜ=1
5ØVÜ=1
5ØYÜ5Ø`Ü5Ø]Ü 5ØYÜ5ØZÜ5Ø]Ü 5ØYÜ5ØZÜ5Ø]Ü 5ØYÜ5Ø`Ü5Ø]Ü
5ØEÜ2 = 5ØZÜ, 5ØPÜ, 5ØYÜ5ØZÜ, 5ØYÜ5Ø`Ü5Ø]Ü, 5ØYÜ5ØZÜ5Ø]Ü , 5ØgÜ5ØZÜ5Ø]Ü , 5ØgÜ5Ø`Ü5Ø]Ü, 5ØZÜ5ØFÜ5ØCÜ5ØVÜ 5ØVÜ=1, 5ØZÜ5Ø@Ü5ØCÜ5ØVÜ 5ØVÜ=1 , 5ØXÜ5ØVÜ 5ØYÜ5ØZÜ , 5ØdÜ5Ø@Ü5ØCÜ5ØVÜ 5ØVÜ=1, 5ØdÜ5ØFÜ5ØCÜ5ØVÜ 5ØVÜ=1
5ØVÜ=1
" 25ØAÜ × !4 × 25ØAÜ 2+5ØYÜ5Ø`Ü5Ø]Ü +5ØYÜ5ØZÜ5Ø]Ü × !5ØYÜ5ØZÜ +5ØYÜ5ØZÜ5Ø]Ü +5ØYÜ5Ø`Ü5Ø]Ü : 5ØPÜ 5ØdÜ5Ø@Ü5ØCÜ5ØWÜ + 5ØdÜ5ØFÜ5ØCÜ5ØWÜ e" 5ØXÜ5ØVÜ
5ØVÜ"5ØZÜ 5ØWÜ "5ØZÜ5Ø@Ü5ØCÜ5ØVÜ 5ØWÜ "5ØZÜ5ØFÜ5ØCÜ5ØVÜ
Z3  Koszt wykonania projektu
5Ø?Ü5Ø`Ü5Ø]Ü 5Ø?Ü5ØZÜ5Ø]Ü
5ØLÜ3 = 5Ø?Ü5Ø`Ü5Ø]Ü, 5Ø?Ü5ØZÜ5Ø]Ü , 5Ø6Ü, 5ØMÜ5Ø`Ü5Ø]Ü, 5ØMÜ5ØZÜ5Ø]Ü , 5ØCÜ5ØFÜ5ØCÜ5ØVÜ 5ØVÜ=1, 5ØCÜ5Ø@Ü5ØCÜ5ØVÜ 5ØVÜ=1 , 5Ø>Ü
5ØYÜ5Ø`Ü5Ø]Ü 5ØYÜ5ØZÜ5Ø]Ü 5ØYÜ5Ø`Ü5Ø]Ü +5ØYÜ5ØZÜ5Ø]Ü +1
5ØEÜ3 = 5ØYÜ5Ø`Ü5Ø]Ü, 5ØYÜ5ØZÜ5Ø]Ü , 5ØPÜ, 5ØgÜ5Ø`Ü5Ø]Ü, 5ØgÜ5ØZÜ5Ø]Ü , 5Ø]Ü5ØFÜ5ØCÜ5ØVÜ 5ØVÜ=1, 5Ø]Ü5Ø@Ü5ØCÜ5ØVÜ 5ØVÜ=1, 5ØXÜ " 6" !3 × 25ØAÜ 2 × !+ 6" 5ØXÜ
= 5Ø]Ü5ØFÜ5ØCÜ5ØVÜ + 5Ø]Ü5Ø@Ü5ØCÜ5ØVÜ
5ØVÜ"5ØgÜ5Ø`Ü5Ø]Ü 5ØVÜ"5ØgÜ5ØZÜ5Ø]Ü
Z4  Koszt wykonania projektu nie może przekroczyd budżetu
5ØLÜ4 = 5Ø>Ü, 5Ø5Ü
5ØEÜ4 = 5ØXÜ, 5ØOÜ " !2 : 5ØXÜ d" 5ØOÜ
+
Z5  Każdy podprogram jest uwzględniony w projekcie
5ØLÜ5 = 5Ø?Ü5ØZÜ , 5Ø@Ü
5ØEÜ5 = 5ØYÜ5ØZÜ, 5ØZÜ " ! × 25ØAÜ: 5ØYÜ5ØZÜ = 5ØZÜ
Z6  Każdy programista pracuje przy projekcie
5ØLÜ6 = 5Ø?Ü5ØZÜ5Ø]Ü , 5Ø?Ü5Ø`Ü5Ø]Ü, 5ØMÜ5Ø`Ü5Ø]Ü, 5ØMÜ5ØZÜ5Ø]Ü
5ØEÜ6 = { 5ØYÜ5ØZÜ5Ø]Ü , 5ØYÜ5Ø`Ü5Ø]Ü, 5ØgÜ5Ø`Ü5Ø]Ü, 5ØgÜ5ØZÜ5Ø]Ü " !2 × 25ØAÜ 2: 5ØYÜ5ØZÜ5Ø]Ü + 5ØYÜ5Ø`Ü5Ø]Ü = 5ØgÜ5Ø`Ü5Ø]Ü *" 5ØgÜ5ØZÜ5Ø]Ü }
Z7  Czas wykonania projektu
5Ø?Ü5Ø`Ü5Ø]Ü 5Ø?Ü5ØZÜ5Ø]Ü 5Ø?Ü5ØZÜ5Ø]Ü 5Ø?Ü5Ø`Ü5Ø]Ü
5ØLÜ7 = 5Ø@Ü, 5Ø6Ü, 5Ø?Ü5ØZÜ, 5Ø?Ü5Ø`Ü5Ø]Ü, 5Ø?Ü5ØZÜ5Ø]Ü , 5Ø@Ü5ØFÜ5ØCÜ5ØVÜ 5ØVÜ=1, 5Ø@Ü5Ø@Ü5ØCÜ5ØVÜ 5ØVÜ=1 , 5Ø>Ü5ØVÜ 5Ø?Ü5ØZÜ , 5ØJÜ5Ø@Ü5ØCÜ5ØVÜ 5ØVÜ=1 , 5ØJÜ5ØFÜ5ØCÜ5ØVÜ 5ØVÜ=1
5ØVÜ=1
5ØYÜ5Ø`Ü5Ø]Ü 5ØYÜ5ØZÜ5Ø]Ü 5ØYÜ5ØZÜ5Ø]Ü 5ØYÜ5Ø`Ü5Ø]Ü
5ØEÜ7 = 5ØZÜ, 5ØPÜ, 5ØYÜ5ØZÜ, 5ØYÜ5Ø`Ü5Ø]Ü, 5ØYÜ5ØZÜ5Ø]Ü , 5ØZÜ5ØFÜ5ØCÜ5ØVÜ 5ØVÜ=1, 5ØZÜ5Ø@Ü5ØCÜ5ØVÜ 5ØVÜ=1, 5ØXÜ5ØVÜ 5ØYÜ5ØZÜ , 5ØdÜ5Ø@Ü5ØCÜ5ØVÜ 5ØVÜ=1 , 5ØdÜ5ØFÜ5ØCÜ5ØVÜ 5ØVÜ=1
5ØVÜ=1
ki
" 25ØAÜ × !4 × 25ØAÜ 5ØYÜ5Ø`Ü5Ø]Ü +5ØYÜ5ØZÜ5Ø]Ü + !5ØYÜ5ØZÜ +5ØYÜ5ØZÜ5Ø]Ü +5ØYÜ5Ø`Ü5Ø]Ü : c = max
i"m 5ØWÜ "5ØZÜ5ØFÜ5ØCÜ5ØVÜ 5ØdÜ5ØFÜ5ØCÜ5ØWÜ + 5ØdÜ5ØFÜ5ØCÜ5ØWÜ
5ØWÜ "5ØZÜ5Ø@Ü5ØCÜ5ØVÜ
Podział zmiennych na dane, zmienne decyzyjne oraz wskazniki
5Ø?Ü5Ø`Ü5Ø]Ü 5Ø?Ü5ØZÜ5Ø]Ü 5Ø?Ü5Ø`Ü5Ø]Ü 5Ø?Ü5ØZÜ5Ø]Ü
5ØNÜ = 5Ø?Ü5ØZÜ , 5Ø?Ü5Ø`Ü5Ø]Ü, 5Ø?Ü5ØZÜ5Ø]Ü , 5Ø5Ü, 5ØMÜ5Ø`Ü5Ø]Ü, 5ØMÜ5ØZÜ5Ø]Ü , 5Ø@Ü, 5ØJÜ5ØFÜ5ØCÜ5ØVÜ 5ØVÜ=1, 5ØJÜ5Ø@Ü5ØCÜ5ØVÜ 5ØVÜ=1 , 5Ø>Ü5ØVÜ 5Ø?Ü5ØZÜ , 5ØCÜ5ØFÜ5ØCÜ5ØVÜ 5ØVÜ=1, 5ØCÜ5Ø@Ü5ØCÜ5ØVÜ 5ØVÜ=1
5ØVÜ=1
5Ø?Ü5Ø`Ü5Ø]Ü 5Ø?Ü5ØZÜ5Ø]Ü
5ØeÜ = 5Ø@Ü5ØFÜ5ØCÜ5ØVÜ 5ØVÜ=1 , 5Ø@Ü5Ø@Ü5ØCÜ5ØVÜ 5ØVÜ=1
5ØdÜ = 5Ø6Ü
Analiza poziomu informacyjnego
W chwili podejmowania decyzji decydent zna następujące wartości zmiennych:
·ð Lm  liczba podprogramów
·ð Lsp, LMP  liczba programistów starszych i mÅ‚odszych
·ð Ki  minimalne liczba linijek kodu w podprogramach
·ð WSPi, WMPi  wydajnoÅ›d poszczególnych programistów
·ð PSPi, PMPi  stawka godzinowe programistów
·ð B  zaplanowany budżet
Nie będzie miał dokładnej wiedzy na temat wartości zmiennych (gdyż będą one skutkiem podjętych decyzji):
·ð K  rzeczywisty koszt wykonania projektu
·ð C  czas wykonania projektu
·ð MSPi, MMPi  zbiory numerów programistów pracujÄ…cych przy danym podprogramie
W przypadku kosztu nałożone są od góry pewne ograniczenia  nie może on przekroczyd zadanego budżetu. Czas
wykonania projektu również nie jest znany, jest on jednak kluczową kwestią i decydent powinien dążyd do jego
minimalizacji.
Zbiory poprawnych wartości danyc,. dopuszczalnych wartości zmiennych decyzyjnych oraz
możliwych wartości wskazników
5Ø?Ü5Ø`Ü5Ø]Ü 5Ø?Ü5ØZÜ5Ø]Ü 5Ø?Ü5Ø`Ü5Ø]Ü 5Ø?Ü5ØZÜ5Ø]Ü
5Ø4Ü = 5Ø?Ü5ØZÜ , 5Ø?Ü5Ø`Ü5Ø]Ü, 5Ø?Ü5ØZÜ5Ø]Ü , 5Ø5Ü, 5ØMÜ5Ø`Ü5Ø]Ü, 5ØMÜ5ØZÜ5Ø]Ü , 5Ø@Ü, 5ØJÜ5ØFÜ5ØCÜ5ØVÜ 5ØVÜ=1, 5ØJÜ5Ø@Ü5ØCÜ5ØVÜ 5ØVÜ=1 , 5Ø>Ü5ØVÜ 5Ø?Ü5ØZÜ , 5ØCÜ5ØFÜ5ØCÜ5ØVÜ 5ØVÜ=1, 5ØCÜ5Ø@Ü5ØCÜ5ØVÜ 5ØVÜ=1
5ØVÜ=1
" !3 × !+ × 25ØAÜ 3 × !25Ø?Ü5Ø`Ü5Ø]Ü +25Ø?Ü5ØZÜ5Ø]Ü +5Ø?Ü5ØZÜ
5Ø?Ü5Ø`Ü5Ø]Ü 5Ø?Ü5ØZÜ5Ø]Ü
© 5ØNÜ = 5Ø@Ü5ØFÜ5ØCÜ5ØVÜ 5ØVÜ=1 , 5Ø@Ü5Ø@Ü5ØCÜ5ØVÜ 5ØVÜ=1 , 5Ø>Ü
" 25ØAÜ 5Ø?Ü5Ø`Ü5Ø]Ü +5Ø?Ü5ØZÜ5Ø]Ü : 5ØWÜ " 5Ø@Ü5ØFÜ5ØCÜ5ØVÜ Ä„" 5Ø6Ü 5ØJÜ5Ø@Ü5ØCÜ5ØWÜ + 5ØJÜ5ØFÜ5ØCÜ5ØWÜ e" 5Ø>Ü5ØVÜÄ„" 5Ø>Ü d" 5Ø5Ü
5ØVÜ"5ØZÜ 5ØWÜ "5ØMÜ5Ø`Ü5Ø]Ü 5ØVÜ"5Ø@Ü 5ØWÜ "5Ø@Ü5Ø@Ü5ØCÜ5ØVÜ 5ØWÜ "5Ø@Ü5ØFÜ5ØCÜ5ØVÜ
Ki
5ØJÜ 5ØNÜ, 5ØeÜ = 5Ø6Ü " !: 5Ø6Ü = max
i"M 5ØWÜ "5Ø@Ü5ØFÜ5ØCÜ5ØVÜ 5ØJÜ5ØFÜ5ØCÜ5ØWÜ + 5ØJÜ5ØFÜ5ØCÜ5ØWÜ
5ØWÜ "5Ø@Ü5Ø@Ü5ØCÜ5ØVÜ
Funkcja oceny osiągnięcia celu
Ki
1, gdy y = minx"©(a) maxi"M WSPj + WSPj
5Ø8Ü5ØNÜ 5ØfÜ = j"M j"M
SPi MPi
0 w przeciwnym przypadku
Decydent powinien dążyd do minimalizacji czasu tworzenia projektu, który został określony jako największy z
czasów potrzebnych do niezależnego stworzenia poszczególnych podprogramów.
Zadanie optymalizacyjne
Dla danych 5ØNÜ " 5Ø4Ü wyznaczyd takie 5ØeÜ" " ©(5ØNÜ), że " 5Ø8Ü5ØNÜ 5ØdÜ = 1
Ä„"5ØdÜ"5ØdÜ(5ØNÜ,5ØeÜ )


Wyszukiwarka

Podobne podstrony:
Jan Paweł II – Orędownik prawdy(1)
Paweł Huelle Opowiadania na czas przeprowadzki
Jan Paweł II Apostoł pokoju
Zwierzę, które umieram Heidegger, Derrida, Agamben Paweł Mościcki
pawel sliwa

więcej podobnych podstron