Projekt okładki i stron tytułowych

Przemysław Spiechowski

Wydawca

Dorota Siudowska-Mieszkowska

Koordynator ds. redakcji

Renata Ziółkowska

Redakcja i korekta

Bożena Sigismund, Janusz Sigismund

Koordynator produkcji

Zuzanna Lebuda

Skład wersji elektronicznej na zlecenie Wydawnictwo Naukowe PWN S.A.:
Michał Latusek

Recenzenci

dr Tadeusz Pokusa, prof. Akademii Nauk Stosowanych – Wyższej Szkoły Zarządzania i Administracji w Opolu

dr Dmytro Dyaczkow, prof. Połtawskiego Państwowego Uniwersytetu Rolniczego (Ukraina)

Książka, którą nabyłeś, jest dziełem twórcy i wydawcy. Prosimy, abyś przestrzegał praw, jakie im przysługują. Jej zawartość możesz udostępnić nieodpłatnie osobom bliskim lub osobiście znanym. Ale nie publikuj jej w internecie. Jeśli cytujesz jej fragmenty, nie zmieniaj ich treści i koniecznie zaznacz, czyje to dzieło. A kopiując jej część, rób to jedynie na użytek osobisty.

Szanujmy cudzą własność i prawo.

Więcej na www.legalnakultura.pl.

Polska Izba Książki

Copyright © by Wydawnictwo Naukowe PWN SA

Warszawa 2024

ISBN 978-83-01-23602-1

DOI: https://doi.org/10.53271/2024.020

eBook został przygotowany na podstawie wydania papierowego z 2024 r. (Wydanie I)

Warszawa 2024

Wydawnictwo Naukowe PWN SA

02-460 Warszawa, ul. Gottlieba Daimlera 2

tel. 22 69 54 321, faks 22 69 54 288

infolinia 801 33 33 88

e-mail: pwn@pwn.com.pl; reklama@pwn.pl

www.pwn.pl

Wprowadzenie

W ostatnich czasach wzrosło zainteresowanie studentów kierunków Zarządzanie oraz Logistyka rozwiązywaniem zadań decyzyjnych z zastosowaniem metod komputerowych. Bazują one głównie na algorytmie simpleks. Część słuchaczy przedmiotów badania operacyjne, optymalizacja decyzji gospodarczych na studiach niestacjonarnych, prowadzących swoje małe firmy, dostrzegła szansę na uzyskanie dodatkowych przychodów poprzez odpowiedni dobór asortymentu produkcji czy też usług. Jest to szczególnie istotne w trudnych czasach inflacji i ostrej konkurencji, blokowania niektórych rynków zbytu.

Na szczególną uwagę zasługuje, w wymienionym względzie, dodatek Solver do arkusza kalkulacyjnego Excel. Przy okazji przypomniano sobie o zastosowaniach pakietu WinQSB oraz o innych nowszych aplikacjach, często już komercyjnych stanowiących oprogramowanie procedur optymalizacyjnych.

Stosunkowo łatwo podaje się dane wejściowe do Solvera oraz parametry definiujące funkcję celu, ograniczenia dostępnych zasobów oraz warunki brzegowe dotyczące zmiennych, których wartości poszukujemy. Z tego względu, otwierając się na potrzeby potencjalnych odbiorców, w niniejszym opracowaniu dokonano implementacji i zestawienia swoich wcześniejszych rozwiązań zadań decyzyjnych z zastosowaniem Solvera, WinQSB, modułów pakietu R oraz aplikacji PROMETHEE-GAIA.

Zaprezentowano również przykłady, począwszy od tych stosowanych w dydaktyce przedmiotu optymalizacja decyzji gospodarczych, po rozwiązania typu marszrutyzacja przewozów, iteracyjna optymalizacja parametrów w wybranych modelach prognozowania, w tym modelu Holta.

Elementem końcowym niniejszej pracy jest rozdział Sztuczna inteligencja, w którym pokazano, jak skorzystać z nowej aplikacji wspomagającej badacza, jaką jest CzatGPT, opracowanej przez firmę OpenAI. Występuje tu tzw. asystent, który pomaga zebrać materiały internetowe na zadany temat, np. z zakresu rozwiązywania problemu przy wykorzystaniu określonego programu komputerowego.

Autorzy

1

Zastosowanie Solvera do przykładów dydaktycznych z optymalizacji

1.1. Wstęp

Jak już wspomniałem we Wprowadzeniu podczas wykładów z optymalizacji decyzji gospodarczych największe zainteresowanie wśród studentów wzbudziło zastosowanie dodatku Solver wchodzącego w skład arkusza kalkulacyjnego Excel. Chociaż przykłady dotyczyły tylko wybranych i przy tym drobnych obszarów, to i tak niektórzy ze słuchaczy widzieli potrzebę ich implementacji w swojej pracy zawodowej. Zarówno na kierunku Zarządzanie, jak i Logistyka są studenci, którzy prowadzą własne firmy, np. cięcia kamienia budowlanego, jak też ozdobnego. Było to zachętą do zaprezentowania ich w tej monografii[1]. Na wstępie jednak przyjrzyjmy się menu głównemu Excela w wersji 16.0 wchodzącego w skład pakietu Microsoft 365. Występują tu zakładki: Plik, Narzędzia główne, Wstawianie, Układ strony, Formuły, Dane, Recenzja, Widok, Pomoc. Po kliknięciu na zakładkę Dane zauważymy z prawej strony funkcję Solver (zob. rysunek 1.1).

Rys. 1.1. Solver w ramach opcji zakładki Dane

Źródło: Opracowanie własne na podstawie menu programu Microsoft Excel 16.0.

Jeśli mamy otwarty plik zadania decyzyjnego i ustawieni jesteśmy w komórce celu, to po akceptacji Solvera pojawia się nam okno dialogowe. Przykład ten dotyczy określenia optymalnej liczby produkcji wyrobów W₁ i W₂, jako zmiennych x₁ i x₂. Dla realizacji procesu optymalizacji musimy wprowadzić do tabeli danych formuły wykorzystania zasobów oraz formułę funkcji celu – widoczną na rysunku 1.2[2],[3]. Sformułowanie manualne zadania decyzyjnego optymalizacyjnego, dążącego do maksymalnej kwoty przychodu ze sprzedaży wyrobów, sprowadza się do określenia funkcji celu (FC), ograniczeń (Ci) oraz warunków brzegowych, w których zmienne są liczbami całkowitymi[4]:

FC: 30 x₁ + 20 x₂ → max

C₁: 2x₁ + x₂ ≤ 1000

C₂: 3x₁ + 3x₂ ≤ 2400

C₃: 1,5x₁ ≤ 600

x1, x₂ ≥ 0; x1, x₂ ∈ C

Przyjmujemy wstępnie, że x₁ i x₂ równa się zero.

Rys. 1.2. Zdefiniowanie parametrów zadania decyzyjnego w Solverze

Źródło: Opracowanie własne na podstawie menu programu Microsoft Excel 16.0.

Procedura postępowania w Solverze jest następująca:

1. Rozplanowanie tabeli zadania decyzyjnego na arkuszu kalkulacyjnym Excela.

2. Wprowadzamy wyrażenia do komórek wykorzystania zasobów oraz komórki funkcji celu.

3. Ustawiamy się w komórce celu: $C$9.

4. Wywołujemy menu: Dane/Solver. Pojawia się okno dialogowe z zaznaczoną adresowaniem bezwzględnym komórką celu.

5. Wypełniamy komórki zmieniane: $D$3:$E$3; Dodajemy warunki ograniczające i brzegowe:

$C$5:C7<=$B$5:$B$7

$D$3:$E$3 >= 0 i $D$3:$E$3 int (warunek liczb całkowitych)

Warunki dodajemy poprzez pomocnicze okno dialogowe, np. – zob. rysunek 1.3:

Rys. 1.3. Dodanie ograniczenia całkowitoliczebności

Źródło: Opracowanie własne na podstawie menu programu Microsoft Excel 16.0.

6. Klikamy na przycisk Rozwiąż i w oknie dialogowym zaznaczamy wyświetlenie raportu wyników (rysunek 1.4).

Rys. 1.4. Zaznaczenie wygenerowania raportu wyników z procesu optymalizacji

Źródło: Opracowanie własne na podstawie menu programu Microsoft Excel 16.0.

Po OK pojawia się nam rozwiązanie w tabeli danych (zob. rysunek 1.5) i w skoroszycie Excela zostaje dopisany plik raportu (rysunek 1.6).

Rys. 1.5. Rozwiązanie zadania produkcji wyrobów

Źródło: Opracowanie własne na podstawie menu programu Microsoft Excel 16.0.

Rys. 1.6. Raport wyników

Źródło: Opracowanie własne na podstawie menu programu Microsoft Excel 16.0.

Zatem liczba wyrobów W₁ = 200 szt., a wyrobu W₂ = 600 szt. Funkcja celu, czyli przychód ze sprzedaży wynosi 18 000 zł – z uwzględnieniem cen wyrobów. Widzimy wykorzystanie zasobu S₁ i S₂ w pełni, a zasobu S₃ tylko 300 kg, tak więc w magazynie pozostaje jeszcze: (600 – 300) = 300 kg. Na rysunku 1.5 widzimy też przykład formuły wykorzystania zasobu S₁ w komórce C5.

W zaprezentowanym raporcie zwróćmy uwagę na wartości początkowe zmiennych decyzyjnych, które są równe zeru oraz końcowe po optymalizacji. Ponadto warto przeanalizować sposób zapisu formuł dotyczących ograniczenia zasobów, zmiennych, a także zaznaczenia warunku całkowitoliczebności.

1.2. Minimalizacja odpadów

Jako przykład rozpatrzmy następujące zadanie: Tartak otrzymał zamówienie na wykonanie kompletów belek składających się z: 300 kompletów, w tym belki (5 po 2,3 m, 4 po 2 m, 2 po 0,4 m); 100 kompletów, składających się z belek (2 po 2,3 m, 3 po 2 m, 3 po 0,4 m). Tartak ma do dyspozycji drewniane bale o długości 5,3 m. Należy tak pociąć bale, aby odpady były jak najmniejsze[5],[6].

Na początku musimy wyodrębnić kilka sposobów cięcia belek z bali i niech to będą sposoby zaprezentowane poniżej.

Długość [m]

Sposób 1

Sposób 2

Sposób 3

2,3

2

0

1

2,0

0

2

1

0,4

1

3

2

Odpad [m]

0,3

0,1

0,2

Obliczenie odpadów: sposób 1: 5,3 – (4,6 + 0,4); sposób 2: 5,3 – (4 + 1,2); sposób 3: 5,3 – (4,3 + 0,8). Potrzeba jeszcze określić liczbę poszczególnych belek w dwóch zamówieniach:

– belki 2,3 m (300 × 5 + 100 × 2) = 1700 szt.,

– belki 2,0 m (300 × 4 + 100 × 3) = 1500 szt.,

– belki 0,4 m (300 × 2 + 100 × 3) = 900 szt.

Przyjmijmy jako zmienne: x₁ – liczba cięć (bali po 5,3 m) sposobem 1, x₂ – liczba cięć sposobem 2, x₃ – liczba cięć sposobem 3. Musimy zrealizować nasze dwa zamówienia, zatem ograniczenia stanowią liczby pociętych belek po 2,3 m, 2,0 m oraz 0,4 m. Jako warunki brzegowe wprowadzamy nieujemność (x₁, x₂, x₃ ≥ 0 oraz całkowitoliczbowość zmiennych (x₁, x₂ i x₃ jako „int”). Tak więc sformułowanie zadania decyzyjnego na minimalizację odpadu jest następujące:

FC: 0,3 x₁ + 0,1 x₂ + 0,2 x₃ → min

C₁: 2x₁ + 0x₂ + 1x₃ ≥ 1700

C₂: 0x₁ + 2x₂ + 1x₃ ≥ 1500

C₃: 1x₁ + 3x₂ + 2x₃ ≥ 900

x₁, x₂, x₃ ≥ 0

x₁, x₂, x₃ ∈ C

Podobnie jak dla przykładu podanego we Wstępie utwórzmy tabelę danych wejściowych z wprowadzeniem do odpowiednich komórek formuł w zakresie wykorzystania zasobów (komórki: C5:C7), jak też formułę funkcji celu (komórka: C9). W komórkach zmiennych wprowadzamy początkowo zero.

Rys. 1.7. Dane wejściowe zadania minimalizacji odpadu

Źródło: Opracowanie własne w Microsoft Excel 16.0.

Zwróćmy teraz uwagę na sposób wypełnienia okna dialogowego Parametry dodatku Solver. Jako metodę rozwiązywania wybrano LP simpleks dotyczącą problemów liniowych (zob. rysunek 1.8). Do dyspozycji jest jeszcze metoda nieliniowa GRG oraz ewolucyjna.

Po kliknięciu na Rozwiąż pojawia się komunikat z możliwością wskazania potrzeby raportu (rysunek 1.9).

Rys. 1.8. Parametry zadania minimalizacji odpadu

Źródło: Opracowanie własne w dodatku Solver.

Rys. 1.9. Komunikat o rozwiązaniu zadania i wskazanie potrzeby raportu wyników

Źródło: Opracowanie własne w dodatku Solver.

Solver zaproponował zastosowanie pierwszego sposobu cięcia bali 850 razy, drugiego 750 razy a z trzeciego zrezygnował. W tych warunkach minimalna liczba odpadu wynosi łącznie 330 m (zob. rysunek 1.10).

Rys. 1.10. Efekt postępowania iteracyjnego Solvera w zakresie optymalizacji cięcia bali

Źródło: Opracowanie własne w dodatku Solver.

Proponuję jeszcze zwrócić uwagę na podany w formie skróconej, wygenerowany raport wyników (rys. 1.11). Zadanie decyzyjne zrealizowane zostało w trzech iteracjach w czasie zaledwie 0,015 sekundy.

Rys.1.11. Fragment raportu wyników zadania decyzyjnego dotyczącego cięcia bali drewnianych

Źródło: Opracowanie własne w dodatku Solver.

Z dalszej części raportu dowiadujemy się, że zostały w pełni spełnione ograniczenia dotyczące belek 2,3 m oraz 2,0 m, a w odniesieniu do krótkich belek po 0,4 m występuje spora nadwyżka ilościowa, bo (3100 – 900) = 2200 sztuk.

1.3. Minimalizacja kosztu karmienia psów

Jako kolejny przykład rozpatrzmy problem minimalizacji kosztów: Hodowca psów rasowych uważa, że prawidłowo karmiony pies musi otrzymywać odpowiednie dzienne dawki witamin w wysokości przynajmniej: witaminy C – 150 j., D – 15 j. i A – 25 j. Hodowca może wykorzystać trzy specjalistyczne karmy dla psów, których ceny za 1 kg wynoszą odpowiednio: K₁ – 7 zł., K₂ – 5 zł., K₃ – 9 zł. Należy przy tym pamiętać, że karmy K₂ nie powinno się podawać więcej niż 450 g dziennie. Należy ułożyć liniowe zadanie decyzyjne minimalizujące koszt karmienia psów i rozwiązać problem w Solverze[7]. Zawartość witamin w 1 kg poszczególnych karm jest następująca:

Witamina [j.]

K₁

K₂

K₃

C

150

100

175

D

20

10

15

A

  0

25

30

Cena [zł]

  7

  5

  9

Przyjmijmy jako zmienne: x₁ – ilość karmy K₁, x₂ – ilość karmy K₂, x₃ – ilość karmy K₃. Ograniczenia stanowią: dawka witaminy C, dawka witaminy D, dawka witaminy A, ilość maksymalna karmy K₂. Przy tych założeniach sformułowane zadanie decyzyjne ma następującą postać:

FC: 7 x₁ + 5 x₂ + 9 x₃ → min

C₁: 150 x₁ + 100 x₂ + 175 x₃ ≥ 150

C₂: 20 x₁ + 10 x₂ + 15 x₃ ≥ 15

C₃: 0 x₁ + 25 x₂ + 30 x₃ ≥ 25

C₄: 0 x₁ + 1 x₂ + 0 x₃ ≥ 0,45

x₁, x₂, x₃ ≥ 0

Utwórzmy podobnie jak dla wcześniejszego przykładu tabelę danych wejściowych do Solvera. Ustawiamy się w komórce celu, określamy formuły wykorzystania zasobów, formułę funkcji celu i w wyniku postępowania iteracyjnego uzyskujemy efekt zaprezentowany na rysunku 1.12. Tak więc optymalne dzienne dawki karm wynoszą: K₁ =  0,1813 kg, K₂ =  0,45 kg, K₃ =  0,4583 kg, a minimalny koszt karmienia psów rasowych wyniesie wówczas 7,64 zł.

Rys. 1.12. Tabela wynikowa po optymalizacji kosztu karmienia psów

Źródło: Opracowanie własne w dodatku Solver.

Prawidłowe określenie parametrów Solvera w oknie dialogowym jest bardzo istotne i dlatego zaprezentowano jeszcze jego skróconą postać na rysunku 1.13.

Rys. 1.13. Parametry zadania decyzyjnego w Solverze dotyczące minimalizacji dziennego kosztu karmienia psów

Źródło: Opracowanie własne w dodatku Solver.

1.4. Maksymalizacja liczby kompletów

Zaprezentowany teraz przykład wzbudził, w trakcie ćwiczeń z przedmiotu optymalizacja decyzji gospodarczych, duże zainteresowanie studentów. Pojawiła się jednak trudność w określeniu zmiennych, zwłaszcza zmiennej – liczba kompletów, a tekst tego zadania jest następujący: Firma wycina kształtki A i B ze standardowego paska blachy czterema sposobami. Liczba kształtek uzyskanych przy danym sposobie wycinana jest następująca[8],[9]:

I

II

III

IV

A

3

5

2

6

B

4

3

6

2

Ze względów technologicznych częstość stosowania czwartego sposobu cięcia nie może przekraczać 50% drugiego sposobu cięcia. Firma sprzedaje kształtki w kompletach: 1 kształtka A i 2 kształtki B. Firma posiada 50 pasków blachy. Celem firmy jest maksymalizacja liczby kompletów. Należy sformułować problem w postaci zadania programowania liniowego (PL).

Jako zmienne przyjęto: x₁ – krotność stosowania I sposobu cięcia (liczba zużytych pasków blachy), x₂ – krotność stosowania sposobu II, x₃ – krotność stosowania sposobu III, x₄ – krotność stosowania sposobu IV, y – liczba kompletów kształtek A i B. Ograniczeniami są: liczba pasków blachy, liczba kształtek A w kompletach, liczba kształtek B w kompletach, krotność stosowania IV sposobu cięcia. Ponadto założono nieujemność zmiennych oraz ich całkowitoliczbowość. Przy tych założeniach nasze zadanie decyzyjne można sformułować następująco:

FC: y → max

C₁: x₁ + x₂ + x₃ + x₄ ≤ 50

C₂:   3x₁ + 5x₂ + 2x₃ + 6x₄ ≤ y

C₃:   4x₁ + 3x₂ + 6x₃ + 2x₄ ≤ 2y

C₄:   0x₁ + 0x₂ + 0x₃ + 1x₄ ≤ 0,5x₂

x₁, x₂, x₃, x₄ ≥ 0

x₁, x₂, x₃, x₄, y ∈ C

Efektem pracy Solvera jest krotność sposobów cięcia W₁ = 0, W₂ = 12, W₃ = 38, W₄ = 0 oraz liczba kompletów y = 132 (zob. rysunek 1.14).

Rys. 1.14. Rozwiązanie zadania decyzyjnego maksymalizacji liczby kompletów kształtek

Źródło: Opracowanie własne w dodatku Solver.

Zobaczmy jeszcze określenie parametrów dodatku Solver (rys. 1.15).

Rys. 1.15. Fragment okna z parametrami dodatku Solver zadania dotyczącego maksymalizacji liczby kompletów

Źródło: Opracowanie własne w dodatku Solver.

1.5. Uwzględnienie wcześniejszego kontraktu

Mamy teraz następujące zadanie decyzyjne: Przedsiębiorstwo wytwarza dwa produkty P₁ i P₂ wykorzystując w tym celu surowce S₁ i S₂, których zasoby wynoszą S₁ = 12 kg, S₂ = 36 kg. Do produkcji P₁ zużywa się 4 kg S₁ oraz 6 kg S₂, natomiast do wytworzenia P₂ potrzeba 2 kg S₁ i 6 kg S₂. Zysk ze sprzedanej jednej sztuki P₁ wynosi 40 tys. zł, a ze sprzedaży P₂ – 10 tys. zł. Przedsiębiorstwo podpisało kontrakt na dostawę jednostki P₁ i dwóch jednostek P₂ i musi się z tego wywiązać. Ułóż liniowe zadanie decyzyjne i rozwiąż je w Solverze, w celu uzyskania maksymalnego zysku z produkcji wyrobów P₁ i P₂[10].

Określenie zmiennych: x₁ – liczba produktów P₁, x₂ – liczba produktów P₂. Ograniczeniami są: zasób surowca S₁, zasób surowca S₂, kontrakt na dostawę 1 sztuki P₁, kontrakt na dostawę 2 sztuk P₂. Ponadto nieujemność i całkowitość zmiennych x₁ i x₂. Przy tych założeniach sformułujmy teraz zadanie decyzyjne:

FC:   40x₁ + 10x₂ → max

C₁:   4x₁ + 2x₂ ≤ 12

C₂:   6x₁ + 6x₂ ≤ 36

C₃:   1x₁ + 0x₂ ≥ 1

C₄:   0x₁ + 1x₂ ≥ 2

x₁, x₂ ≥ 0; x₁, x₂ ∈ C

Inicjujemy zmienne x₁, x₂ wartościami zero w komórkach D3 i E3 arkusza kalkulacyjnego Excel. W komórkach C5:C7 wpisujemy formuły wykorzystania zasobów, a w komórce C10 formułę na funkcje celu. Efekt pracy Solvera pokazano na rysunku 1.16. Rozwiązaniem jest x₁ = 2 szt. oraz x₂ = 2 szt., a maksymalny zysk wynosi 100 zł.

Rys. 1.16. Rozwiązanie zadania optymalizacyjnego z określeniem wstępnym zawartych kontraktów

Źródło: Opracowanie własne w dodatku Solver.

Parametry Solvera, ze wskazaniem komórek, zastosowane do omawianego zadania sformułowane są następująco:

funkcja celu – komórka $C$10,

komórki zmieniane: $D$3:$E$3,

ograniczenia → $C$5 ≤ $B$5, $C$6 ≤ $B$6, $C$7 ≥ $B$7, $C$8 ≥ $B$8, $D$3:$E$3 = całkowita, $D$3:$E$3 ≥ 0.

O Autorach

dr inż. Władysław Wornalkiewicz, prof. ANS-WSZiA jest autorem książek z zakresu statystyki i ekonometrii z zastosowaniem programów komputerowych. Jego praca naukowa skupia się na testowaniu różnych metod modelowania ekonometrycznego z użyciem danych statystycznych oraz takich narzędzi programistycznych, jak pakiety Excel, Gretl, WinQSB, R, DEAP, Expert Choice i innych. Pracuje w Akademii Nauk Stosowanych Wyższej Szkoły Zarządzania i Administracji w Opolu.

prof. Roman Szarawara – pracuje w Połtawskim Instytucie Ekonomii i Prawa Uniwersytetu Ukraina, gdzie pełni funkcję zastępcy dyrektora. Jego zainteresowania naukowe obejmują problematykę funkcjonowania giełdy jako odrębnego segmentu systemu finansowego kraju, a także problematykę budowy modeli ekonomicznych i matematycznych służących optymalizacji decyzji zarządczych.

Przypisy

[1] Niektóre z przykładów, ujętych w tej części monografii, bazują na propozycjach zagadnień optymalizacyjnych zawartych w publikacjach firmy Microsoft Corporation:

– Analiza arkusza, wymiana danych, tworzenie, automatyzacja prac, Podręcznik użytkownika, tom 2;

– Praca z pakietem Microsoft Office 97. Konkretne rozwiązania w codziennej pracy, Ireland 1995;

– Microsoft Excel. Arkusz kalkulacyjny z grafiką reprezentacyjną i bazą danych, wersja 4.0 dla Windows TM, Ireland 1992;

– Microsoft Excel. Opis funkcji, Ireland 1993.

[2] To zadanie, jak i dalsze zaprezentowane w tym rozdziale, wykonywane były na laptopie w trakcie zajęć z przedmiotu optymalizacja decyzji gospodarczych.

[3] W opracowaniu, przy redagowaniu tekstów przykładów, bazowano na analogicznych problemach decyzyjnych zademonstrowanych w książce: M. Duczmal, W. Wornalkiewicz, Wstęp do ekonometrii i badań operacyjnych. Zbiór przykładów z zastosowaniem mikrokomputera, Instytut Śląski, Opole 2010.

[4] Przykład stanowi analogię do zadania 2 (s. 21) zawartego w książce: M. Anhplcer, H. Gaspars, A. Owczarkowski, Przykłady i zadania z badań operacyjnych i ekonometrii, Wydawnictwo Akademii Ekonomicznej w Poznaniu, Poznań 2003.

[5] Temat stanowi analogię do przykładu 6 (s. 43) zamieszczonego [w:] Z. Jędrzejczak, K. Kukuła, J. Skrzypek, A. Walkosz, Badania operacyjne w przykładach i zadaniach, K. Kukuła (red. nauk.,), Wydawnictwo Naukowe PWN, Warszawa 2004.

[6] Temat bazuje na przykładzie 3 (s. 10): M. Anholcer, H. Gaspars, A. Owczarkowski, Przykłady i zadania z badań operacyjnych i ekonometrii, Wydawnictwo Akademii Ekonomicznej w Poznaniu, Poznań 2003.

[7] Przy opracowaniu tego tematu oparto się na przykładzie 2 (s. 8): M. Anholcer, H. Gaspars, A. Owczarkowski, Przykłady i zdania z badań operacyjnych i ekonometrii, Wydawnictwo Akademii Ekonomicznej w Poznaniu, Poznań 2003.

[8] Temat stanowi analogię do zadania 28 (s. 47) podanego [w:] Z. Jędrzejczak, K. Kukuła, J. Skrzypek, A. Walkosz, Badania operacyjne w przykładach i zadaniach, K. Kukuła (red. nauk.), Wydawnictwo Naukowe PWN, Warszawa 2004.

[9] Temat bazuje na przykładzie 4 (s. 12) opracowania: M. Anholcer, H. Gaspars, A. Owczarkowski, Przykłady i zadania z badań operacyjnych i ekonometrii, Wydawnictwo Akademii Ekonomicznej w Poznaniu, Poznań 2003.

[10] Tekst przykładu bazuje na zadaniu 2 (s. 21) w książce: M. Anholcer, H. Gaspars, A. Owczarkowski, Przykłady i zadania z badań operacyjnych i ekonometrii, Wydawnictwo Akademii Ekonomicznej w Poznaniu, Poznań 2003.