변수 클래스 (~ 100), 객실 (20), 용어 (8) 및 평일 (5)으로 구성된 고전적인 시간 지정 문제가 있습니다.많은 변수로 시간 설정 문제 해결하기
문제를 단순화하기 위해 다음과 같이 제한 사항을 줄입니다.
하루는 9 시간입니다.
일부 수업은 학생에게 필수이며, 1,3,5,7 (및 2,4,6,8)의 필수 수업은 서로 겹치지 않아야합니다.
클래스 일부는 3
어떤 클래스가 특정 객실에 있어야하며, 일부 2 시간이며, 시간의 측면에서 서로 다른 가중치를 가지고있다.
동일한 강의 시간에 2 강의를 진행할 수 없습니다.
저는 logilabs python constraint 모듈을 사용할 것입니다. 그리고 나는 변수와 영역을 현명하게 chosing하는 것이 문제를 해결할 시간이 적다는 것을 알고 있습니다. 문제는 전에 제약 프로그래밍을 한 적이 없으며 어디서 무엇을 시작해야 하는지를 알아 내기 위해 문제를 구축하는 데 어려움을 겪고 있습니다. 예를 들면 다음과 같습니다.
"같은 방의 같은 클래스가 아니며 같은 날이 서로의 시간대에 겹칠 수 있습니다"와 같은 제약 조건을 설정할 수 있습니다. 아니면 "방이 같은 날에 예약 된 시간이 9 시간을 초과 할 수 없습니다"라는 메시지로 시작한 다음 축소 된 솔루션 도메인을 계속 사용하십시오. 나는 첫 번째 제약 조건이 다른 제약 조건보다 해결하는데 더 오래 걸릴 것이라고 추정한다 (시도하지 않았다). 하지만 변수와 솔루션 영역을 변경하거나 작은 문제를 재구성해야합니다. 난 이미있어 변수, 도메인, 간격, 구현 등 손실 약간
길고도 짧은 이야기, 난 등 현명 변수를 chosing,
감사 문제, 솔루션 도메인을 구축하기위한 몇 가지 포인터를 필요
UPDATE
t 한 번 봐 내가 기본 응용 프로그램을 만들어 github
감사합니다. 구현은 항상 나에게 더 좋은 출발점입니다 :) – hinoglu