mirror of
https://github.com/kuhyx/WUT_Computer_Science.git
synced 2026-11-13 21:50:55 +01:00
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
189 lines
15 KiB
Markdown
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
|
|
|
|
|
|

|
|
|
|
<span id="page-0-1"></span>Rysunek 1: Obraz zbioru rozwiązań efektywnych w przestrzeni ryzyko-zysk
|
|
|