Pracuji na aplikaci, kde musím automaticky plánování úloh pro členy na střídavém rozvrhu. Nejsem moc dobře vysvětlit pravidla, takže tady některé údaje, které vám pomohou out:
Pozice: název pracovní pozice s pravidly, jako jsou pondělí a ve středu týdně.
Kategorie: A soubor pozic
Skupiny: Další sada pozic. Pozice ve stejné skupině nemohou být zařazeny na stejný den
poslanci: Uživatelé přiřazeny k pozicím k určitému datu.
U každé datum v měsíci, členové jsou přiřazeny pozic (jak ve vzestupném pořadí). Je-li člen přiřazen do polohy v jedné kategorii, příště pozice ve stejné kategorii přijde, další člen abecedně (nebo začátek seznamu) dostane přiděleno např.
Uživatelé: M1, M2, M3, M4
Pozice v kategorii C1: P1, P2, P3
členové v poloze P1: M1, M2, M3, M4
členů v poloze P2: M1, M2, M3
členů v poloze P2: M1, M3, M4
Pokud M1 je určen pro P1, P2, pokud přijde příště, M2 bude přidělena. Dodatečná vrstva složitosti je představena, kde v případě, P3 přijde příště namísto M3 dostane přidělen. Systém má sledovat skutečnost, že M2 byl ‚přeskočí‘ a přiřadit M2 next-li k dispozici, pak přiřadit M4 vedle, nebo počkat, až se dostane do pozice, kde je k dispozici M2 (to se stává navíc složitější, když existuje mnoho ‚přeskočeno členové).
Člen bude také přeskočit, pokud mu naznačila, že nebude k dispozici k tomuto datu. Systém potřebuje umístit prioritu vynecháním členy nějak identifikovat je, když přijdou a pak přejít na další logické osoby v seznamu. Skákání platí i pro skupiny z důvodu aktuální soubojů.
Už mám dočasné [a chaotický] řešení, které jsem již pochopit, i když mám spoustu připomínek v něm vysvětluje každý krok. Jeho nedostatky jsou v jednání s vynecháním členy.
Pokud jste se chystá kódovat to, jak byste to? Já jsem se provádí tato v PHP, ale pseudocode bude fungovat stejně dobře.













