Kasia R
12/21/2006 9:30:00 AM
Tomek napisal(a):
> Kasia R napisal(a):
> > Mam takie zadanie dotyczace przydzialu prac dyplomowych - studenci
> > wybierajac prace dyplomowe tworza rankigi, które prace by chcieli
> > najbardziej, a które najmniej (1-najbardziej, 5-najmniej)
> > Np.
> > StudentA
> > 1. praca1
> > 2. praca4
> > 3. praca 3
> > StudentB
> > 1. praca3
> > 2. praca1
> > 3. praca5
> > StudentC
> > 1. praca4
> > 2. praca2
> > 5. praca1
> >
> > Nastepnie promotorzy sposród studentów, którzy zadeklarowali
> > chec pisania prac u nich prac (umiescili w rankingu prace) tworza
> > wlasne rankingi - kogo by chcieli najbardziej, a kogo najmniej.
> > Np.
> > Praca-promotor1
> > 1.studentC
> > 2.studentB
> > 3.studentA
> > itd..
> >
> > Zastanawiam sie jak przydzielac prace do studentów. Chce, zeby jak
> > najwiecej prac zostalo przydzielonych, ale w sensowny sposób. Na
> > pewno, jesli student wybierze prace na pierwszym miejscu i promotor
> > studenta na pierwszym miejscu, to musi nastapic przydzial pracy do
> > studenta. Wszyscy promotorzy sa tak samo uprzywilejowani, studenci
> > równiez. Promotorzy maja troche "wyzszy priorytet" od studentów.
> > Czy znacie jakis algorytm rozwiazujacy ten problem?
> >
>
> Tak chyba najprosciej to by bylo dodac rankingi studenta i promotora
> tylko ranking promotora nalezalo by najpierw pomnozyc/podzielic przez
> jakas wage ( ile bardziej wazny jest ranking promotora ).
Tak, mysle, ze to dodawanie rankingów promotorów i prac z
uwzglednieniem jakis wag jest dobrym pomyslem. Wtedy zamiast 2
macierzy mam jedna i juz jest latwiej.
> majac sume
> rankingów dla danej pracy wybieramy studenta dla której suma rankingów
> jest najmniejsza/najwieksza. Jezeli dany student ma juz przydzielona
> jakas prace to bierzemy nastepnego w kolejce. W przypadku równych sum
> rankingów o przydziale moze decydowac srednia ocen badz losowanie.
Tylko problem jest taki, ze wszystkie prace sa jednakowo wazne i nie
wiadomo którym pracom najpierw przydzielic studentów, a którym
pózniej. Ewentualnie moglabym zrobic odwrotnie czyli sortuje
studentów wg. sredniej. Biore pierwszego studenta i przydziem mu
prace, która ma najmniejsza sume, potem z kolejnymi to samo, o ile
praca nie jest juz zajeta. Tylko jeszczee nie jestem pewna, czy
sortowac tak studentów, moze lepiej bedzie to rozwiazac "metoda
wegierska" albo czyms podobnym.