Я не уверен, что такой подход необходим, но позвольте мне описать проблему:перебором или алгоритм
- Учитывая произвольное число рабочих (2 или более) планируется работать в любой месяц (включая выходные).
- Только один работник может работать в назначенный день. 2a. Этот рабочий может не работать днем до или после.
- Работники также работают выходные и, по возможности, равномерно распределяются по количеству рабочих. 3a. Суббота и воскресенье взвешиваются одинаково.
- Апартамент для возможных отпусков 4a. Без ограничений на последовательные дни 4b. Не допускайте столько отдыха, которое будет мешать правилам (правилам) № 2 и № 3
Что является наиболее гибким способом сортировки этих критериев. Что это за проблема?
Может кто-то указать мне в правильном направлении, чтобы я мог читать и узнавать об этом. Очевидно, если это то, что уже было решено с помощью алгоритма, укажите мне правильную бумагу или книгу, чтобы я мог ее прочитать и понять.
Уточнение: я не ищу, сколько [дней] и рабочих дней каждый рабочий работал бы, но способ [равномерно] распределять дни, проработанные в этом месяце.
E.g. Рабочие A B C; Запрашиваемый отпуск 17 до 20
Очевидно, что есть другие перестановки, кроме приведенного ниже примера.
M T W Th F Sa Su
====================
October 1 2 3 4 5 6 7
2012 A B C A B C A
8 9 10 11 12 13 14
B C A B C A B
15 16 17 18 19 20 21
C A B C B C A
22 23 24 25 26 27 28
B A C A C B C
29 30 31
A B A
Похоже, динамическое программирование, возможно, целочисленное программирование, так как будни являются дискретным набором. –
Как @BenVoigt Said, это похоже на проблему с Integer-programming (Operation-Research). –
Я обновил свой вопрос, и я начну читать о целочисленном программировании. –