내 첫 번째 게시물이고 학교 프로젝트를 위해 Java 프로그래머를 배우는 팀원을 위해 게시하고 있습니다. 그래서 우리는 좋은 프로그래머가 아닙니다. Optaplanner가 특정 방 유형으로 강의를 이동하도록 제약 조건을 어떻게 추가 할 수 있습니까? 예를 들어 강의실 '프로그래밍'을 컴퓨터 실과 일반 강의실에서 '수학'강의로 옮기고 싶습니다. 그러나 제 제약으로 그것은 어려운 제약을 선언하지만 그들의 방에서 강의를 움직이지 않습니다. 이것은 부정적인 제약이되어야합니다. 따라서이 하드 제한 조건에 대한 부정적인 점수가 표시되지만 여전히 해결/이동되지는 않습니다. Optaplanner가 컴퓨터 룸 제한을 추가합니다
rule "computerroom"
when
$room : Room($computerroom : computerroom)
$course : Course(computerroom == $computerroom)
then
scoreHolder.addHardConstraintMatch(kcontext, -1);
end
우리는 클래스 룸에 새로운 변수를 추가, 같이 : 그래서 u는 우리에게 조언을 가지고있다
package org.optaplanner.examples.curriculumcourse.domain;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import org.optaplanner.examples.common.domain.AbstractPersistable;
@XStreamAlias("Room")
public class Room extends AbstractPersistable {
private String code;
private int capacity;
private boolean computerroom;
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public boolean getComputerroom() {
return computerroom;
}
public void setComputerroom(boolean computerroom) {
this.computerroom = computerroom;
}
public int getCapacity() {
return capacity;
}
public void setCapacity(int capacity) {
this.capacity = capacity;
}
public String getLabel() {
return code;
}
@Override
public String toString() {
return code + " {C" + capacity + "}";
}
}
여기
제약 조건인가?또 다른 작은 점 : Optaplanner가 작동 할 많은 데이터를 얻습니다 : 해결을위한 최대 지출 시간을 어떻게 늘릴 수 있습니까? 우리는 1152 이상의 다른 값을 시도했기 때문에 작동하지 않습니다. 약간의 질문 일뿐입니다. 제약 조건이 더 중요하지만 프로그램을 실행하게되어 기쁩니다!
은 접견 규칙은 "계획 변수"(= 해결하는 동안 변경 변수) 아무것도 확인되지 않은 점수 SEP2014