学生の希望を尊重して、学生へのコースの割り当てを最適化したい。すべての生徒はすべてのコースを数字で採点します (例: 1 ~ 6、多いほど良い)。コースの最適な時間割とコースへの学生の割り当てを探しているので、全体的な成績の合計が最大になります。
私の問題は、学生が同じ時間枠で2つのコースに参加できないという矛盾です。LP式では、2つのブール変数の積があります
sum( student[coursenr] * timeslot[coursenr] ) <= 1
これは明らかに線形ではなく、多くのスラック変数を持つスラック変数で解決する必要があります。そして、さらに多くの新しい制約。非常に小さな問題しか解決できません。モデルを改善するにはどうすればよいですか?