2012-02-08 2 views
3

실제 이벤트 관리 응용 프로그램에서 작업하고 있습니다. 장소는 장소의 가용성에 따라 일정이 정해지지 만 이벤트가 충돌하지 않아야합니다. 다음 값을 삽입하는 가장 좋은 방법은 무엇입니까?이벤트 관리 응용 프로그램을위한 최적의 시간 예약 알고리즘

예 : 한다고 가정합니다 Event1은 Event2가 Event3는 무료 9 이후부터 룸 A에서 9시 30 분 시작 룸 B 에서 9 : 00 ~ 10 : 00 사이에 무슨 일이 일어나고 룸 A에서 9 9시 30 분 사이에 무슨 일이 일어나고 : 30 n so ......

어떤 알고리즘을 사용할 수 있습니까?

참고 :이 CPU 스케줄링 알고리즘

감사합니다 :)

+1

알고리즘에 어떤 다른 특성을 원하십니까? 긴 이벤트가 발생할 경우를 대비하여 조각화를 최소화 하시겠습니까? – Beta

답변

3

내가 욕심 접근 방식으로 갈 것 없습니다.

  1. 정렬 모든 이벤트는 시간이 각 장소에 대한
  2. 시작에있어서
    1. T = 빠른 시간
    2. 를 T에서 이후 최초의 이벤트를 찾아이 장소에 예약. 목록에서 해당 이벤트를 제거하십시오. 이것은 당신이 더 할당을 최적화하기 위해 로컬 검색의 일종 (기반 시뮬레이션 어닐링)를 사용할 수 있습니다 완료되면
    3. 업데이트 T는

이 이벤트의 시간을 종료합니다.

+0

그래, [First Fit Decreasing] (http://docs.jboss.org/drools/release/5.4.0.Beta2/drools-planner-docs/html_single/index.html#d0e3671)부터 시작하여 [Tabu 검색 또는 Simulated Annealing] (http://docs.jboss.org/drools/release/5.4.0.Beta2/drools-planner-docs/html_single/index.html#d0e3817)을 참조하십시오. –

관련 문제