ORtools AddDecisionStrategy cpmodel пример - PullRequest
0 голосов
/ 28 мая 2020

Я создаю планировщик тренировок. Учитывая список упражнений, я хочу организовать расписание в соответствии с некоторыми ограничениями и мягкими ограничениями (передовая практика).

например,

Exercises = [# name, fatigue system, duration/fatigueCost
        ("BenchP", FatigueSystem.UPPERBODY, 5),
        ("Squat", FatigueSystem.LOWERBODY, 7),
        ("Pull up", FatigueSystem.UPPERBODY, 4),
        ("B-culrs", FatigueSystem.UPPERBODY, 2),
        ("Lunge", FatigueSystem.LOWERBODY, 3),
        ("Calf-raise", FatigueSystem.LOWERBODY, 2),
        ];

вывод

Max fatigue = 12.0
     Squat               start:0                 end:7
    BenchP               start:0                 end:5
   Pull up               start:5                 end:9
     Lunge               start:7                 end:10
   B-culrs               start:9                 end:11
Calf-raise               start:10                end:12

  1. Что является хорошим способом поощрения (мягкое ограничение, чтобы тяжелые упражнения выполнялись в первую очередь. Я использовал приоритет exercise[1].end <= exercise[2].start, но это слишком строго при добавлении дополнительных дней. Хороший ли способ сделать это с помощью AddDecisionStrategy. Если да, то доступны любые примеры использования.
...