Algorytm Johnsona - Pomocy!!!
Idź do strony 1, 2  Następny
 
Napisz nowy tematOdpowiedz do tematu    Forum programistyczne Programmers Zone Strona Główna -> Algorytmy i struktury danych
Autor Wiadomość
slmb-slavko
~user




Dołączył: 19 Cze 2006
Posty: 3


PostWysłany: 19-06-06 18:59 Zacytuj zaznaczone Odpowiedz z cytatem

Dostałem w sumie z pozoru dosyć proste zadanie na zaliczenie, mianowicie wykorzystać algorytm Johnsona do szeregowania zadań na dwóch maszynach. Mam duży problem ze znalezieniem czegoś sensownego na temat algorytmu Johnsona. Przeszukałem już całe zasoby sieci i nic. Zwracam się z prośbą do Was, może dysponujecie jakąś wiedzą na ten temat bądź mateiałami. Z góry dziekuje za wszelkie zainteresowanie i pomoc.

_________________
Pozdrawiam !
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
donkey7
~user




Dołączył: 17 Cze 2005
Posty: 135


PostWysłany: 19-06-06 20:21 Zacytuj zaznaczone Odpowiedz z cytatem

cormen: http://www.wnt.pl/product.php?action=0&prod_id=466&hot=1
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora
slmb-slavko
~user




Dołączył: 19 Cze 2006
Posty: 3


PostWysłany: 19-06-06 20:30 Zacytuj zaznaczone Odpowiedz z cytatem

Dzięki za linka do książki - kurcze żeby to był jakiś torrent to by było w ogóle bajka. Mam 4 dni na wykonanie tego zadania, a nie ruszyłem z miejsca

_________________
Pozdrawiam !
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
donkey7
~user




Dołączył: 17 Cze 2005
Posty: 135


PostWysłany: 19-06-06 21:05 Zacytuj zaznaczone Odpowiedz z cytatem

możesz spróbować edonkeya2000. polecam!

atsd:
spróbuj popytać jakichś belfrów, powinni mieć książki o tym. ewntualnie napisz do któregoś z wymienionych gości: tomasz czajka (ile to już tysięcy dolarów wywalczył?), filip wolski (który to już laptop wygrał?), http://www.oi.edu.pl/php/show.php?ac=p171400 , http://www.topcoder.com/tc?module=AlgoRank i inni Cool

ps. ogólnie cormen to na razie dla mnie czarna magia. nawet nie mogę zrozumieć jak działają zrównoważone drzewa binarne, bo tak to zamotał Shocked
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora
TPJ
#Moderator




Dołączył: 06 Kwi 2005
Posty: 484
Skąd: Gliwice
Pomógł: 13

PostWysłany: 25-06-06 10:03 Zacytuj zaznaczone Odpowiedz z cytatem

No proszę, coś z mojej dziedziny. Nie wiem, czy problem wciąż aktualny, ale co tam - szeregowanie zadań to moja naukowa pasja.

Algorytm Johnsona służy oczywiście do optymalnego (ze względu na kryterium długości uszeregowania) szeregowania zadań na dwóch maszynach w tzw. systemie przepływowym (Flow-Shop, w skrócie FS).

Mamy dwie maszyny i N zadań. Każde z zadań jest wykonywane na obydwu maszynach, najpierw na pierwszej, potem na drugiej. Dla każdego z zadań znamy czasy ich wykonywania na każdej z maszyn. Zakładamy, że nie ma awarii, a obydwie maszyny są dostępne w początkowej chwili czasu.

Algorytm sprowadza się do wykonania trzech prostych kroków:

1) Podzielenie zadań na dwie grupy. W pierwszej powinny się znaleźć te zadania, dla których czas wykonywania na pierwszej maszynie nie jest dłuższy, niż czas wyknywania na drugiej maszynie. W drugiej grupie - wszystkie pozostałe.

2) Szeregujemy zadania z pierwszej grupy w taki sposób, aby najpierw były wykonywane te zadania, które mają mniejsze czasy na pierwszej maszynie.

3) Zadania z drugiej grupy szeregujemy w taki sposób, aby najpierw były wykonywane te zadania, które mają większe czasy na drugiej maszynie.


Prosty przykład:

Kod:
j  t1  t2
1  3  4
2  4  2
3  2  6
4  4  4
5  2  1


W pierwszej grupie będą zadania 1, 3 oraz 4.
W drugiej grupie zadania 2 i 5.

Kolejność uszeregowania: 3 (bo najkrótszy czas na pierwszej maszynie) - 1 - 4 - 2 (bo najdłuższy czas na drugiej maszynie) - 5.

Znając kolejność można już bez problemu narysować wykres Gantta. A co mi tam - nawet "naszkicuję":

Kod:
M1 : 331114444222255
M2 : --33333311114444225


Acha, jeszcze jedno - trzeba pamiętać o tym, że nie można rozpocząć wykonywania danego zadania na drugiej maszynie, dopóki nie skończy się go wykonywać na pierwszej.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora
slmb-slavko
~user




Dołączył: 19 Cze 2006
Posty: 3


PostWysłany: 25-06-06 13:37 Zacytuj zaznaczone Odpowiedz z cytatem

Bardzo dziękuje za pomoc TPJ O to chodziło !!! Jeszcze raz wielkie dziękuje !

_________________
Pozdrawiam !
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Idalgo
#Moderator




Dołączył: 27 Kwi 2005
Posty: 735
Skąd: Wrocław
Pomógł: 5

PostWysłany: 25-06-06 23:53 Zacytuj zaznaczone Odpowiedz z cytatem

nie ten dzial, przenioslem w algorytmy

_________________
Shutdown v3.0
--------------------------------------------------------
27 kwietnia 2007 Świerzo upieczony inz inf :>
obronione na 5 :>
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
tomaprzem
~user




Dołączył: 16 Sty 2007
Posty: 2


PostWysłany: 16-01-07 11:23 Zacytuj zaznaczone Odpowiedz z cytatem

TPJ
Mam nadzieje ze jeszcze to odwiedzasz.
Mam troszke podobny problem co slmb-slavko, ale...
Moze od poczatku. Moj model sklada sie z magazynu, 2 maszyn i wozka, ktory porusza sie cyklicznie, ale w obu kierunkach. Na drugiej maszynie znajduje sie bufor: 1 na wejscie i 1 na wyjscie. Zadania sa pobierane z magazynu, wykonywane na 1 maszynie, nastepnie na 2 i znowu trafiaja do magazynu. Do tego modelu mam juz zaimplementowany algorytm Johnsona, mam tez zrobiony algorytm poruszania sie wozka, ale byl on tworzony dla modeli bez buforow. Moje pytanie brzmi. Co nalezalo by zmienic w algorytmie szeregowania i/lub algorytmie poruszania wozka, aby skrocic czas przetwarzania oraz czas bezczynnosci maszyn.
Dane sa odleglosci od maszyn oraz magazynu, ilosc zadan, predkosc wozka, czas zaladunku/rozladunku
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
TPJ
#Moderator




Dołączył: 06 Kwi 2005
Posty: 484
Skąd: Gliwice
Pomógł: 13

PostWysłany: 18-01-07 13:38 Zacytuj zaznaczone Odpowiedz z cytatem

Ciekawy problem.

Do czego służy ten bufor na drugiej maszynie? (Rozumiem, że wprowadza to jakieś dodatkowe ograniczenia, lecz jakie?)

Co znaczy "wózek porusza się cyklicznie"? Nie mamy wpływu na chwile czasu, w których wózek zaczyna się i kończy poruszać? Nie możemy nim sterować?

Nie jestem pewien, czy algorytm Johnsona da w tym przypadku rozwiązanie optymalne (oczywiście ze względu na długość uszeregowania), bo w tym algorytmie nie ma mowy o żadnych buforach.

Gotowego algorytmu nie podam (bo takowego nie znam) - ja wszędzie stosuję mój własny algorytm ewolucyjny.

Jedyna rada, jaka mi przychodzi na myśl, to przeprowadzić parę symulacji i zastosować TOC (Theory of Constraints).
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora
tomaprzem
~user




Dołączył: 16 Sty 2007
Posty: 2


PostWysłany: 18-01-07 14:12 Zacytuj zaznaczone Odpowiedz z cytatem

1.Bufor oznacz ze maszyna moze miec 1 zadanie na wejsciu jedno wykonywac i 1 na wyjsciu, gdy nie ma buforu zadanie jest ladowane od razu na maszyne do przetwarzania.
2.Moze zle sie wyrazilem: sa trzy obiekty A,B,C, ktore tworza trojkat, wozek porusza sie po krawedziach, wozek moze zatrzymac sie tylko przy obiekcie. standardowo wozek porusza sie tylko w jednym kierunku, ale mozna zrobic tez ruch w dwoch kirunkach
3. Proszę o wiecej informacji o twoich algorytmach.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Wyświetl posty z ostatnich:   
Napisz nowy tematOdpowiedz do tematu    Forum programistyczne Programmers Zone Strona Główna -> Algorytmy i struktury danych Wszystkie czasy w strefie EET (Europa)
Idź do strony 1, 2  Następny
Strona 1 z 2

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach

Mapa
Powered by phpBB © 2001, 2005 phpBB Group

 Polecane strony