2012-03-28 3 views
2

예약에 관한 질문이 있습니다. 약속을위한 시간표 생성기를 만들어야합니다. 이것이 현재 상황입니다.시간표/일정 생성에 사용할 수있는 알고리즘은 무엇입니까?

P1에는 P2와 약속 A가 있습니다.
P3에는 P4와 약속 B가 있습니다.
등등 ...

약속 A는 약 15 분을
약속 B 소요는 40 분
(소요 시간은 항목의 개수에 따라, 1 개 항목 = 5 분)

소요 회의 일정을 잡는 데 제한된 양의 제약이 따르는 시간표에 일정표를 넣어야합니다.

내 질문은 : 어떤 알고리즘을 사용할 수 있습니까?

미리 감사드립니다.

+0

메트릭/제약 조건이란 무엇입니까? 나는 매일 정오에 한 번 약속을 정할 수 있습니다. 그러나 그것이 실제로 당신이 찾고있는 것이지 의심 스럽습니다. – amit

+0

오전 2시 (09.00-13.00) 및 정오 (13.00-16.00)입니다. 이 문제를 해결하기 위해 무엇을 공부해야하는지 알 필요가 있습니다. –

+0

문제가 발생한 위치에 대해 좀 더 자세히 설명해 주시겠습니까? 나는 "회의"가 회의 당 단 한 사람 만 필요하더라도 - 당신은 [빈 포장 문제] (http://en.wikipedia.org/wiki/Bin_packing_problem)를 얻었는데, 그것은 [NP-Hard ] (http://en.wikipedia.org/wiki/NP-hard), 회의 제약 조건 당 2 명을 추가하면 상황이 더 어려워집니다. – amit

답변

2

데이터 세트가 작은 한 오래 걸리는 것은 고전적인 backtracking algorithm이며 bruteforcing으로 문제를 해결할 것입니다. 그러나 데이터 집합이 커지면 알고리즘은 비효율적입니다. 이 경우 문제를 해결하려면 artificial intelligence과 같은 genetic algorithms을 봐야합니다.

+0

감사합니다. 유전 알고리즘을 사용하여이 문제를 해결하기위한 연구의 기초가 될 것입니다. 총 6 가지 제약 조건이 있으므로 고전적인 알고리즘으로 해결할 수 있을지 모르겠습니다. 전방 공간 검색은 내 문제와 유사한 비행기 일정에 사용되지만 –

+0

유전자 알고리즘이 가장 유망하며 6 가지 제약 조건을 사용하면 매우 빠른 역 추적의 한계에 부딪 힐 수 있습니다 (특히 솔루션 공간이 매우 좁은 경우 특히 그렇습니다) - 정방향 공간 검색에서도 마찬가지입니다. 좋은 점은 Backtracking을 의사 결정 트리로 구현하고 변형을 고려하여 상태를 버퍼링 할 수 있다는 것입니다. 나는 유전자 알고리즘이 여기에 갈 길이라고 생각한다. – Lars

관련 문제