WUT_Computer_Science/Programming/WDWR/projekt/doc/DOCS-05-pliki-ampl.md
Krzysztof kuhy Rudnicki 54337a662e Organise markdown into the four namespaces and add CLAUDE.md
Five files were outside README / CLAUDE* / DOCS* / TODO*, and two were over
the 250-line cap. Both gates now pass repo-wide.

Renames: the two lowercase readme.md files, and three documents into DOCS-*.
The AIS requirements doc split at its own boundary into functional (101) and
non-functional (174). The WDWR report split into six numbered sections behind
an index that keeps the original filename, 38-235 lines each; 753 lines of
body plus the 18-line header account for all 771 original lines, so nothing
was dropped.

That WDWR file needed checking before splitting: it sits next to main.tex and
main.pdf and looked like a conversion of them. It is not -- main.tex is
project 25406 and the markdown is project 18402, a different document. So it
is authored content and the split is real work, not churn on a build artifact.

Filled the three empty READMEs and replaced ECOTE's, which was a stale copy of
the root README still claiming the group projects were excluded -- they were
merged in by subtree some time ago.

EOPSY/lab1 turned out not to be the code-free directory the survey suggested:
it has modify.sh and modify_examples.sh. The oddly-named empty files beside
them are the exercise's OUTPUT, committed so the before/after state is
visible, and its README now says so rather than leaving them looking like junk.

CLAUDE.md follows the testsAndMisc structure. Writing it caught a nice one:
the md-naming marker is a biconditional, so quoting the literal removal string
in a non-TODO file fails the gate. The gate was right; the text is rephrased.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0172dj34FDpao6wsix8ZuCzE
2026-08-28 17:41:11 +02:00

189 lines
15 KiB
Markdown

**5.2 Plik z danymi (**.dat**)**
```
załączniku.
1 # ##########################################################
2 # WDWR 25406 #
3 # Planowanie produkcj w warunkach ryzyka. #
4 # DANE #
5 # Autor : Jan Kumor #
6 # ##########################################################
7
8 # Narzedzia
9 set TOOLS := GRINDER VDRILL HDRILL MILLER LATHE ;
10
11 # Miesiace
12 set MONTHS := JAN FEB MAR ;
13
14 # Liczba narzedzi
15 param toolCount :=
16 GRINDER 4
17 VDRILL 2
18 HDRILL 3
19 MILLER 1
20 LATHE 1
21 ;
22
23 # Czasy produkcji h
24 param toolTimePerUnit :
25 P1 P2 P3←-
P4 :=
26 GRINDER 0 .4 0 .6 0 ←-
0
27 VDRILL 0 .2 0 .1 0 ←-
0 .6
28 HDRILL 0 .1 0 0 .7 ←-
0
29 MILLER 0 .06 0 .04 0 0 .05
30 LATHE 0 0 .05 0 .02 0
31 ;
32
33 # Ograniczenia rynkowe liczby sprzedawanych produktow pcs
34 param salesMarketLimit :
35 P1 P2 P3 ←-
P4 :=
36 JAN 200 0 100 ←-
200
37 FEB 300 100 200 ←-
200
38 MAR 0 300 100 ←-
200
39 ;
40
41 # Ograniczeine liczby magazynowanych produktow pcs
42 param storageLimit :=
43 P1 200
44 P2 200
45 P3 200
46 P4 200
```
Listing 3: Dane dla modelu AMPL - pominięto scenariusze, pełny zestaw danych dostępny w
```
47 ;
48
49 # Koszt magazynowania produktow pln/pcs per month
50 param storageUnitCost := 1;
51
52 # Aktualny stan magazynowy pcs
53 param startingStorage :=
54 P1 0
55 P2 0
56 P3 0
57 P4 0
58 ;
59
60 # Pozadany stan magazynowy na koniec marca pcs
61 param desiredEndStorage :=
62 P1 50
63 P2 50
64 P3 50
65 P4 50
66 ;
67
68 # Liczba dni roboczych w miesiacu d
69 param daysPerMonth := 24;
70
71 # Liczba zmian w ciagu jednego dnia roboczego
72 param shiftsPerDay := 2;
73
74 # Dlugosc zmiany h
75 param hoursPerShift := 8;
76
77 # Zyski wartosc oczekiwana
78 param expectedProfitPerUnit :=
79 P1 8 .50944172786882
80 P2 8 .47100593224391
81 P3 8 .1319049712769
82 P4 6 .39446520538826
83 ;
84
85 # Metoda punktu odniesienia
86 param epsilon = 0 .000025 ;
87
88 param beta = 0 .001 ;
89
90 param utopia :=
91 PROFIT 11987
92 RISK 1000
93 ;
94
95 param nadir :=
96 PROFIT -2400
97 RISK 2815
98 ;
99
100 param aspiration :=
101 PROFIT 10000
102 RISK 0
```
*smp* oraz wartość wyznaczonego rozwiązania optymalnego:
*ep* = 11987*.*42[*z*]
Listing 7: Wynik działania skryptu wyznaczającego rozwiązanie optymalne modelu jednokryterialnego.
| 1 | | | # ################################################ | | | | | | | | | | | | |
|----|------------------------------------------------------------------------|------------------------------------|----------------------------------------------------|---------|--|---------|--|------------|--|--|-----------|--------------|--|--|--|
| 2 | ###<br>Maximize<br>profit<br>for<br>expected<br>profit<br>value<br>### | | | | | | | | | | | | | | |
| 3 | # ################################################ | | | | | | | | | | | | | | |
| 4 | CPLEX | | 12 .8.0.0 : | optimal | | integer | | solution ; | | | objective | 11987 .41899 | | | |
| 5 | | 11<br>MIP<br>simplex<br>iterations | | | | | | | | | | | | | |
| 6 | | 0<br>branch -and - bound<br>nodes | | | | | | | | | | | | | |
| 7 | | produced | := | | | | | | | | | | | | |
| 8 | JAN | P1 | 200 | | | | | | | | | | | | |
| 9 | JAN | P2 | 0 | | | | | | | | | | | | |
| 10 | JAN | P3 | 100 | | | | | | | | | | | | |
| 11 | JAN | P4 | 200 | | | | | | | | | | | | |
| 12 | FEB | P1 | 200 | | | | | | | | | | | | |
| 13 | FEB | P2 | 0 | | | | | | | | | | | | |
| 14 | FEB | P3 | 200 | | | | | | | | | | | | |
| 15 | FEB | P4 | 200 | | | | | | | | | | | | |
| 16 | MAR | P1 | 50 | | | | | | | | | | | | |
| 17 | MAR | P2 | 250 | | | | | | | | | | | | |
| 18 | MAR | P3 | 150 | | | | | | | | | | | | |
| 19 | MAR | P4 | 250 | | | | | | | | | | | | |
| 20 | ; | | | | | | | | | | | | | | |
| 21 | | | | | | | | | | | | | | | |
| 22 | sold | := | | | | | | | | | | | | | |
| 23 | JAN | P1 | 200 | | | | | | | | | | | | |
| 24 | JAN | P2 | 0 | | | | | | | | | | | | |
| 25 | JAN | P3 | 100 | | | | | | | | | | | | |
| 26 | JAN | P4 | 200 | | | | | | | | | | | | |
| 27 | FEB | P1 | 200 | | | | | | | | | | | | |
| 28 | FEB | P2 | 0 | | | | | | | | | | | | |
| 29 | FEB | P3 | 200 | | | | | | | | | | | | |
| 30 | FEB | P4 | 200 | | | | | | | | | | | | |
| 31 | MAR | P1 | 0 | | | | | | | | | | | | |
| 32 | MAR | P2 | 200 | | | | | | | | | | | | |
| 33 | MAR | P3 | 100 | | | | | | | | | | | | |
| 34 | MAR | P4 | 200 | | | | | | | | | | | | |
| 35 | ; | | | | | | | | | | | | | | |
| 36 | | | | | | | | | | | | | | | |
| 37 | stored | := | | | | | | | | | | | | | |
| 38 | JAN | P1 | 0 | | | | | | | | | | | | |
| 39 | JAN | P2 | 0 | | | | | | | | | | | | |
| 40 | JAN | P3 | 0 | | | | | | | | | | | | |
| 41 | JAN | P4 | 0 | | | | | | | | | | | | |
| 42 | FEB | P1 | 0 | | | | | | | | | | | | |
| 43 | FEB | P2 | 0 | | | | | | | | | | | | |
| 44 | FEB | P3 | 0 | | | | | | | | | | | | |
| 45 | FEB | P4 | 0 | | | | | | | | | | | | |
| 46 | MAR | P1 | 50 | | | | | | | | | | | | |
| 47 | MAR | P2 | 50 | | | | | | | | | | | | |
| 48 | MAR | P3 | 50 | | | | | | | | | | | | |
| 49 | MAR | P4 | 50 | | | | | | | | | | | | |
52 Profit: 11987.418989
![](_page_0_Figure_0.jpeg)
<span id="page-0-1"></span>Rysunek 1: Obraz zbioru rozwiązań efektywnych w przestrzeni ryzyko-zysk