Prośba o pomoc w wyborze algorytmu

0

Witam,

Mam pytanie, jaki algorytm byłby najlepszy do problemu przedstawionego poniżej?
Sam niestety dopiero się z algorytmami zaprzyjaźniam:

Mamy skończoną grupę x osób, w tym osoby z uprawnieniami bądź bez uprawnień.
Trzeba obsadzić nimi y zespołów.

I teraz:
Obsady powinny być w miarę rozłożone.
W każdym zespole musi być odpowiednia ilość osób z uprawnieniami.
Są osoby które nie mogą z rożnych względów być w jednym zespole.
Są osoby które z rożnych względów muszą być w tym samym zespole.

0

No to tak na początek:
1) dzielisz ilość osób przez ilość zespołów i ustalasz, ile osób średnio będzie w zespole
2) bierzesz pierwszą osobę z uprawnieniami i tworzysz pierwszy zesół
3) patrzysz, czy są jakieś osoby, które MUSZĄ być z tym danym pacjentem w zespole. Jeśli tak, to je przydzielasz do tego zespołu
4) bierzesz kolejną osobę z uprawniniami i powtarzasz kroki 2-4 aż uzyskasz pożądaną ilość zespołów.
5) jeśli zostały jakieś nieobsadzone osoby to przydzielasz je do zespołów, aż wszyscy będą rozdysponowani. Jeśli zespoły będą miały różną liczebność, to najpierw starasz się "wsadzić" pacjenta do zespołu z najmniejszą liczną członków, a jeśli się nie da, to próbujesz do następnego.

Tematy do przemyślenia:
1) co w sytuacji, w której będzie mniej osób z uprawnieniami, niż wynosi pożądana ilość zespołów
2) co jeśli trzeba będzie dać kilka osób z uprawnieniami do jednego zespołu, przez co może zabraknąć ich w innyhc
3) co jeśli dojdzie do konfliktów w stylu A musi być z B, B musi być z C, ale C nie może być z A

Ogólnie to temat jest do ogarnięcia, ale trzeba ustalić więcej konkretów. Pytanie - robisz to w ramach szkoły, czy po co Ci to jest?

0

Witam,

Dzięki za odpowiedź.

Ani do szkoły ani do pracy - tak prywatnie w ramach klubu żeglarskiego.
Czasem pomagam w organizacji rejsów paroma jachtami dla dość dużej grupy znajomych w ramach działań klubu. No i przy dużych wyprawach (powyżej 3 jachtów) oraz fakcie, że zanim impreza się odbędzie są zmiany w uczestnikach - często przydaje się narzędzie które w locie poustawia załogi i będzie widać, kto i gdzie a co za tym idzie - gdzie są wolne miejsca i komu np mozna zapropoować.

*Jachty mają różną ilość miejsc (najczęsciej 6-10).
*Na każdym jachcie muszą być co najmniej trzy osoby z uprawnieniami.
*Dochodzi najgorszy dla mnie problem czyli konflikty.

Pytanie o algorytm zadałem, bo myslałem, że jest to dość popularny problem i już jest na to jakiś choćby szkic algorytmu.

Pozdrawiam
Marek

0

Ja nie kojarzę żadnego gotowca, poza tym i tak musiałbyś go dopasować do swoich potrzeb. Napisanie czegoś takiego będzie dla ciebie fajna zabawa, nauka i doświadczeniem, natomiast nie jest to temat na 15 minut :p

1 użytkowników online, w tym zalogowanych: 0, gości: 1