ProjektUnifikacja sprawozdanie Nieznany

background image

str. 1

Paweł Jakubik, nr indeksu: 214764

5.11.2011

Laboratorium z Teorii i metod optymalizacji

– projekt

Opracowanie programu unifikacji

dla indywidualnie przydzielonego zadania.

Opracowa

ć program realizujący zadanie ogólne (tzn. opisane w przykładzie 1).

Program powinien poprawnie działać także dla dowolnych danych podawanych z
zewnętrznego pliku Dane.txt. Wyniki powinny być generowane do pliku
zewnętrznego wyniki.txt wraz z komunikatami o wynikach pośrednich (wybory +
wartość kosztu). Sprawdzenie poprawności dla danych z przykładu oraz danych
zmodyfikowanych w ten sposób, że koszty magazynowania są 50-krotnie większe dla
dwóch pierwszych typów transformatorów. Język dowolny z grupy: C, C++, C#,
Java, Pascal, Fortran, Visual Basic, nawet Basic. Niedozwolony: Matlab.

Udało się wykonać następujące punkty:

1. Dowolne dane obejmuj

ą zarówno liczbę obwodów i wymagane obciążenie, jak

tez mogą być dowolne transformatory o różnych mocach i różnych kosztach.

2.

Liczba kolumn tez może być dowolna.

3. Pliki danych

i wyników to pliki tekstowe.

4.

Jako wyniki pośrednie maja być wypisane wszystkie macierze, komunikaty
tekstowe o wyborze/odrzuceniu tr

ansformatora w danym stopniu pośrednim

wraz z aktualnym kosztem, a n

a koniec komunikat o wyborze końcowym i

koszt końcowy.

5.

Program nie musi działać w środowisku graficznym, ale może.

Dane dołączone do zadania mają następującą postać:

Liczba

obwodów

3

5

2

4

obciążenie

300

400

600

700

Moc trafo

Koszty roczne trafo

Rezerwa

400

96

97

188

190

15

630

97

103

110

200

60

800

110

114

120

122

80

background image

str. 2

Wykonanie zadania:

Program

1

został napisany w języku C przy użyciu programu Dec-C++ 4.9.9.2.

W pliku dane.txt

(lub innym wybranym przez użytkownika) w pierwszym wierszu

powinny znajdować się wymiary badanej macierzy. W badanym przykładzie macierz
jest wymiarów 5x6, gdzie 5 odpowiada ilości wierszy a 6 ilości kolumn. W kolejnym
wierszu pliku powinna znajdować się liczba obwodów dla konkretnego obciążenia.
Wartość tego obciążenia wpisujemy wiersz niżej. Następne wiersze to moc
tr

ansformatora, odpowiadające im koszty roczne transformatora i koszty rezerwy.

W tym miejscu należy napomnieć, iż należy wiersze odpowiadające ilości

obwodów i obciążenia uzupełnić odpowiednio o zera, aby dane te znajdowały się w
kolumnie odpowiadających im kosztów rocznych.

Dla badanego przykładu poprawnie stworzony plik dane.txt

2

powinien

wyglądać następująco:

5 6

0 3

5

2

4

0

0

300 400 600 700 0

400 96

97

188 190 15

630 97

103 110 200 60

800 110 114 120 122 80

Dane wynikowe zapisywane są w pliku wynik.txt (lub innym wybranym przez

użytkownika). W pliku tym podane są kolejne macierze kosztów (koszty roczne
pomnożone przez odpowiednią wartość ilości obwodów), wartości rezerw, macierze
D i macierze c wartości odrzucenia. Po każdorazowym wykonaniu obliczeń
wyświetlany jest komunikat, która składowa macierzy c jest odrzucana. Po
wykonaniu wszystkich kroków podany jest komunikat o wybranych rodzajach
transformato

rów i koszcie końcowym.

Po wprowadzeniu danych zadania plik wynik.txt

zawiera następujące dane:

Macierz 1: wymiary 5x6
Macierz kosztow=

288 485 376 760

291 515 220 800

330 570 240 488

1

Program wraz z kodem źródłowym znajduje się w program.zip.

2

Pliki danych wejściowych i wyjściowych znajdują się w paczce dane_wyniki.zip dostarczonych wraz ze

sprawozdaniem.

background image

str. 3

Macierz a=

15

60

80

Koszty utrzymania:1636
Macierz D=

3

30

0

0

0

0

20

0

0

0

0

272

Macierz c=

33

20

272

Wyrzucamy skladowa wektora C:20 dla mocy 630

KOLEJNY KROK:
Macierz kosztow=

288 485 376 760

330 570 240 488

Macierz a=

15

80

Koszty utrzymania:1596
Macierz D=

42

85

0

0

0

0

136 272

Macierz c=

127

408



Obliczenia zakonczone. Wynik koncowy to:
Koszty koncowe: 1596
Nalezy wybrac transformator o mocy 400 kVA dla obciazenia 300
Nalezy wybrac transformator o mocy 400 kVA dla obciazenia 400
Nalezy wybrac transformator o mocy 800 kVA dla obciazenia 600
Nalezy wybrac transformator o mocy 800 kVA dla obciazenia 700


Po otrzymaniu powyższych wyników należy sprawdzić poprawność otrzymanych
danych poprzez zmodyfikowanie kosztów magazynowania dla pierwszych dwóch
typów transformatora były 50 razy większe. Nasz plik wygląda następująco:

background image

str. 4

5 6

0 3

5

2

4

0

0

300 400 600 700 0

400 96

97

188 190 750

630 97

103 110 200 3000

800 110 114 120 122 80

W rezultacie otrzymujemy wynik (dane pośrednie umieszczone zostały w pliku
wynik50.txt dostarczonym do sprawozdania):

Obliczenia zakonczone. Wynik koncowy to:
Koszty koncowe: 1708
Nalezy wybrac transformator o mocy 800 kVA dla obciazenia 300
Nalezy wybrac transformator o mocy 800 kVA dla obciazenia 400
Nalezy wybrac transformator o mocy 800 kVA dla obciazenia 600
Nalezy wybrac transformator o mocy 800 kVA dla obciazenia 700

Widać, że program działa poprawnie dla tego przypadku, gdyż tylko ten transformator
spełnia założenia nieodrzucenia.

Kolejnym krokiem jest sprawdzenie poprawności działania naszego programu

dla przykładu 5.1 umieszczonego w książce „Podstawy i metody optymalizacji”.
Wynik końcowy to (pełny umieszczony został w pliku wynik_przykład.txt):

Obliczenia zakonczone. Wynik koncowy to:
Koszty koncowe: 1616
Nalezy wybrac transformator o mocy 400 kVA dla obciazenia 300
Nalezy wybrac transformator o mocy 400 kVA dla obciazenia 400
Nalezy wybrac transformator o mocy 800 kVA dla obciazenia 600
Nalezy wybrac transformator o mocy 800 kVA dla obciazenia 700


Zgadza się to z wynikami uzyskanymi w książce.

background image

str. 5



Dla kosztów magazynowania 50 razy większych dla dwóch pierwszych typów
transformatora (plik wynik_przyklad50.txt):

Obliczenia zakonczone. Wynik koncowy to:
Koszty koncowe: 1718
Nalezy wybrac transformator o mocy 800 kVA dla obciazenia 300
Nalezy wybrac transformator o mocy 800 kVA dla obciazenia 400
Nalezy wybrac transformator o mocy 800 kVA dla obciazenia 600
Nalezy wybrac transformator o mocy 800 kVA dla obciazenia 700

Wykonane próby dodatkowe:

Próba wykonana dla przykładu 5.2 (przyklad52.txt):

5 6
0

2

5

3

4

0

0

300 400 600 700 0

400 94

97

188 190 150

630 97

103 110 200 600

800 110 114 120 122 800


Otrzymujemy wynik (wynik_przyklad52.txt):

Koszty koncowe: 2147
Nalezy wybrac transformator o mocy 400 kVA dla obciazenia 300
Nalezy wybrac transformator o mocy 400 kVA dla obciazenia 400
Nalezy wybrac transformator o mocy 400 kVA dla obciazenia 600
Nalezy wybrac transformator o mocy 400 kVA dla obciazenia 700

Rozszerzamy nasz przykład o dodatkowy transformator o mocy 900 kVA (plik
dane_1.txt).

6 6
0 3

5

2

4

0

0

300 400 600 700 0

400 96

97

188 190 15

630 97

103 110 200 60

800 110 114 120 122 80
900 250 72

140 150 100


Otrzymujemy wynik końcowy (wynik_1.txt):

Obliczenia zakonczone. Wynik koncowy to:

background image

str. 6

Koszty koncowe: 1571
Nalezy wybrac transformator o mocy 400 kVA dla obciazenia 300
Nalezy wybrac transformator o mocy 800 kVA dla obciazenia 600
Nalezy wybrac transformator o mocy 800 kVA dla obciazenia 700
Nalezy wybrac transformator o mocy 900 kVA dla obciazenia 400

W jednej z kolumn w dwóch wierszach wstawiamy dwie te same wartości.
Przykładowe dane (dane_2.txt):

6 6
0 3

5

2

4

0

0

300 400 600 700 0

400 96

97

188 190 15

630 97

103 110 200 60

800 110 114 120 122 80
900 110 72

140 150 100


W wyniku takiej operacji otrzymujemy

wynik uwzględniający wszystkie obciążenia:

Obliczenia zakonczone. Wynik koncowy to:
Koszty koncowe: 1571
Nalezy wybrac transformator o mocy 400 kVA dla obciazenia 300
Nalezy wybrac transformator o mocy 800 kVA dla obciazenia 600
Nalezy wybrac transformator o mocy 800 kVA dla obciazenia 700
Nalezy wybrac transformator o mocy 900 kVA dla obciazenia 400

Dodanie jednej kolumny do danych z otrzymanego zadania (dane_3.txt)


5 7
0

3

5

2

4

3

0

0

300 400 600 700 800 0

400 96

97

188 190 210 15

630 97

103 110 200 220 60

800 110 114 120 122 180 80


Otrzymany wynik:

Obliczenia zakonczone. Wynik koncowy to:
Koszty koncowe: 2136
Nalezy wybrac transformator o mocy 400 kVA dla obciazenia 300
Nalezy wybrac transformator o mocy 400 kVA dla obciazenia 400

background image

str. 7

Nalezy wybrac transformator o mocy 800 kVA dla obciazenia 600
Nalezy wybrac transformator o mocy 800 kVA dla obciazenia 700
Nalezy wybrac transformator o mocy 800 kVA dla obciazenia 800

Przypadek dla którego koszty w kolejnym kroku są większe niż koszty w kroku
poprzednim.

Niestety w obecnych pr

óbach nie udało nam się otrzymać wzrostu kosztów w

kolejnym kroku. Jednak program

został tak skonstruowany, aby w takim przypadku

wyp

isać odpowiedni komunikat oraz za wynik końcowy podać dane z poprzedniego

kroku.

background image

str. 8

Wnioski:

Stworzony program wyrzuca poprawne wyniki dla danych otrzymanych wraz z

treścią zadania, jak i dla danych z przykładu umieszczonej w książce „Podstawy
metod optymalizacji” – oba zostały również zmodyfikowane o wartości dwóch
pierwszych kosztów rezerw.

Dodatkowo została wykonana próba dla przykładu 5.2, która dała nam

pomyślny wynik.

Poprawność działa została także sprawdzona dla przypadków o zwiększonej

ilości kolumn i wierszy.

W momencie otrzymania w procesie unifikacji wartości kosztów zostaną

zwiększone względem otrzymanych poprzednich, program wyrzuca odpowiedni
komunikat i za wynik końcowy podaje wartość wybranych transformatorów dla
poprzedniego kroku.


Wyszukiwarka

Podobne podstrony:
Projekt zaliczeniowy Sprawozdan Nieznany
Projekt sprawozdanie id 399569 Nieznany
Projekt zaliczeniowy Sprawozdan Nieznany
Lab 6 PMI Hartownosc Sprawozdan Nieznany
Mikrokontrolery Grodzki Sprawoz Nieznany
! oracle projektowanie rozprosz Nieznany
miao wykl 6 projektowanie klas Nieznany
Planowanie systemow projekt 053 Nieznany
06 Projektowanie i organizowani Nieznany (2)
08 Projektowanie i realizacja z Nieznany (2)
Projekt stropu Nieznany
Kryteria oceny projektow w rama Nieznany
problematyka sprawozdawczosci M Nieznany
projekt sprawozdanie
Projekt sprawozdanie
Informatyczne Podstawy Projektowania sprawozdanie
,geomechanika L,Projekt wyrobis Nieznany
ProbabilistykaEND SprawozdanieA Nieznany

więcej podobnych podstron