たとえば、5days *(8hourWorkday-2hoursForUnexpectedWork)=週に30時間使用する場合、その30時間を埋めるためにプログラムでタスクをスケジュールするにはどうすればよいですか?
たとえば、5つのタスクがあり、それぞれに次の時間がかかると見積もっています。
#1: 2h
#2: 4h
#3: 6h
#4: 8h
#5: 10h
どのように私はそれを言うように分類しますか:
M: #1 @ 2h + #2 @ 4h
T: #3 @ 6h
W: #4 @ 6h
H: #4 @ 2h + #5 @ 4h
F: #5 @ 6h
言い換えれば、「反復合計コンテナオーバーフロー」をどのように説明するのでしょうか。
最終的には、週をオーバーフローするタスクも考慮する必要があります。たとえば、前の例でタスクがあった場合#6: 40h
(それ自体が週より10時間多く、週の合計が40時間余分になり、流出する必要があります)。過去2週間に)。
編集:
2番目のより複雑な例。ここでも5つのタスクがあり、今回は(オプションの)曜日の要件があります。
#1: 2h, W[0][M]
#2: 4h, W[0][T]
#3: 6h, W[0][M]
#4: 8h, W[0][F]
#5: 40h, W[0][F]
これをどのように分類しますか?
W[-1][M]: #5 @ 6h
W[-1][T]: #5 @ 6h
W[-1][W]: #5 @ 6h
W[-1][H]: #5 @ 6h
W[-1][F]: #3 @ 2h + #5 @ 4h
W[ 0][M]: #1 @ 2h + #3 @ 4h
W[ 0][T]: #2 @ 4h + #5 @ 2h
W[ 0][W]: #5 @ 6h
W[ 0][H]: #4 @ 2h + #5 @ 4h
W[ 0][F]: #4 @ 6h
最良のシナリオは、実際には、ここに示すように、#3が#1を1日押し戻すことです。
さらなる解明:
- 指定された曜日(MTWHF)ごとに、最大6時間の時間を入力します。
- オーバーフローがある場合は、前日にこぼしてください。
- 理想的には、この流出はナップザックまたは同様に最適化された方法で発生するため、6時間は完全な/中断されていないタスクで可能な限り完全に満たされます。
- 同様に、こぼれた日については、こぼれたものを調整して、タスク全体が中断されないようにする必要があります。