안녕하세요,
스케쥴 작성중 도저히 풀리지 않아 문의 드립니다.
로직을 간략히 설명드리면....
- 순번 : 구분을 위한 시퀀스
- 가능시간 : 작업가능한 시작 시간
- 시작시간 : 가능시간
- 종료시간 : 시작시간+수행시간
- 우선순위 : 작업가능한 순번이 여러개 있을 경우 우선순위(높은수가 우선권)
- 팀 : 팀별로 시작시간은 초기화 된다(팀별 스케쥴)
ex) t1 의 경우 가능시간이 가장이른건 1번이여서 제일먼저 스케쥴이 잡히고
그뒤에 2, 4번의 경우가 해당되는데 2번의 우선순위가 높으므로 2번의 시작, 종료 시간이 측정된다.
그이후 4번은 7시부터 가능하지만 2번이 끝난 시간인 8시부터 수행이 가능하므로 시작시간이 8시로 측정된다....... 이런식으로 계산해서 결과 데이터가 나오게 됩니다.
집합적 생각만하다 이런 순차적인 결과를 가지고 다음 줄을 계산하려니 힘드네요...
고수님의 가르침을 부탁드립니다.
* 원본데이터
순번 |
가능시간 |
시작시간 |
종료시간 |
수행시간 |
우선순위 |
팀 |
1 |
6 |
6 |
7 |
1 |
1 |
t1 |
2 |
7 |
7 |
8 |
2 |
2 |
t1 |
3 |
10 |
10 |
11 |
1 |
3 |
t1 |
4 |
7 |
7 |
9 |
2 |
4 |
t1 |
5 |
16 |
16 |
18 |
2 |
5 |
t1 |
6 |
6 |
6 |
8 |
2 |
1 |
t2 |
7 |
6 |
6 |
8 |
2 |
2 |
t2 |
8 |
9 |
9 |
10 |
1 |
4 |
t2 |
9 |
14 |
14 |
17 |
3 |
5 |
t2 |
10 |
7 |
7 |
8 |
1 |
3 |
t2 |
*결과 데이터
순번 |
가능시간 |
시작시간 |
종료시간 |
수행시간 |
우선순위 |
팀 |
1 |
6 |
6 |
7 |
1 |
1 |
t1 |
2 |
7 |
7 |
8 |
2 |
2 |
t1 |
4 |
7 |
8 |
10 |
2 |
4 |
t1 |
3 |
10 |
10 |
11 |
1 |
3 |
t1 |
5 |
16 |
16 |
18 |
2 |
5 |
t1 |
6 |
6 |
6 |
8 |
2 |
1 |
t2 |
7 |
6 |
8 |
10 |
2 |
2 |
t2 |
10 |
7 |
10 |
11 |
1 |
3 |
t2 |
8 |
9 |
11 |
12 |
1 |
4 |
t2 |
9 |
14 |
14 |
17 |
3 |
5 |
t2 |
|