2010-06-09 5 views
0

시간표 생성을위한 유전 알고리즘을 쓰고 있습니다. 순간시간 추적 문제에 대한 균형 잡기

나는이 두 가지 휴리스틱 사용하고 있습니다 : 일일 (related) 강의 사이의 구멍

  1. 번호 (작은 구멍을 -> 더 큰 점수)
  2. 각각의 시간이 어떤 가치를 가지고 있으므로 각 시간표에 대해 강의 시간에 값을 합산합니다. (더 적절한 시간에 강의 -> 더 큰 점수)

나는이 두 가지 발견 적 방법의 균형을 유지하려고합니다. 그래서 알고리즘은 어느 쪽도 선호하지 않을 것입니다. 이것을 달성하는 가장 좋은 방법은 무엇입니까?

답변

1

아주 간단한 방법은 점수를 함께 추가하는 것입니다. 하루가 끝나면 독립적 인 점수가 올라갈 때 올라가는 혼합 점수가 필요합니다. 곱하기도 사용할 수 있습니다 (점수의 크기에 따라 숫자 오버플로가 발생하는 것에주의하십시오). 두 방법 중 하나를 사용하여 개별 점수에 가중치를 부여 할 수 있습니다.

total_score = 0.4 * hours_score + 0.7 * holes_score 

가중치를 사용자가 구성 할 수도 있습니다.

0
  1. 생성 된 시간표의 품질을 평가하는 채점 기능을 개발하십시오. 당신은 두 가지 발견 적 사고 방식에 대한 생각을 가지고 있습니다.

  2. 임의의 시간표 문제를 생성하십시오.

  3. 두 가지 경험적 방법의 균형을 맞추고 해결책을 생성하고 어떤 것이 가장 잘 보이는지 평가하려면 몇 가지 값을 선택하십시오 (점수 계산 기능을 사용하지 못하고 눈알이 보이지 않는 경우).

  4. (즉, 마지막에서 최선의 선택의 동네) 밸런스 가중치의 새로운 세트를 선택하고 반복