// 同時刻に開催されるイベントで参加者が重なっている数 * OVERLAP_PENALTY をペナルティとして返す double exist_constraint(int t, int i, int j) { Event event1 = rooms[i].Get(t); Event event2 = rooms[j].Get(t); return(OVERLAP_PENALTY * event1.overlap(event2)); }
// 同時刻に開催されるイベントで参加者が重なっている数 * OVERLAP_PENALTY をペナルティとして返す double exist_constraint(int t, int i, int j) { Event event1 = rooms[i].Get(t); Event event2 = rooms[j].Get(t); return(event1.overlap(event2) * event1.Weight * event2.Weight); }