1. 程式人生 > >一頓飯讓你學會作業排程和程序排程

一頓飯讓你學會作業排程和程序排程

場景:畢業師兄請我們去鳳雛吃飯。

流程:菜由後廚做好,然後由服務員端上飯桌,接著我們吃飯。

服務員排程演算法:後廚的菜做好,由服務員選擇端哪個菜上桌,這個服務員是兼洗碗的,她今天晚上還有個約會,所以她希望儘早地把碗刷完去約會,所以她的排程演算法是,看哪個菜比較快吃掉,就先上哪個菜,這樣我們吃完一個菜她就洗一個碗,不用拖太久下班。

我的排程演算法:我不是每種菜都喜歡吃,我對菜有一個喜好排序。所以我的排程演算法是,看我的喜好,1級喜好的比2級喜好的先吃掉。

菜涼了時間:一個菜從做好到吃完這段時間,都在涼,所以把這段時間叫做菜涼了時間,菜涼了時間越短,使用者體驗越好

菜墊:有的菜太燙了,需要墊子墊著。

菜名

後廚煮好的時間

吃掉這個菜所花時間/min

需不需要菜墊

我的喜好

紅燒肉

14:00

40

1

4

娃娃菜

14:20

30

0

2

烏雞湯

14:30

50

1

3

紅豆湯

14:50

20

0

5

糖醋魚

15:00

10

1

1

假設今天飯桌上就只有一個菜墊,根據上表的資訊,請算出哪一個菜第一個吃完,哪一個菜第二個......哪一個最後一個吃完?平均菜涼了時間是多少?

解:

14:00時,後廚把紅燒肉做好了,服務員把紅燒肉端上了桌,我開吃

14:20時,娃娃菜做好了,服務員把娃娃菜端上了桌,因為我更喜歡吃娃娃菜,所以我改吃娃娃菜,此時紅燒肉還剩下

20min吃完

14:30時,烏雞湯做好了,但是由於飯桌上就一個菜墊,紅燒肉在用,所以服務員沒有把烏雞湯端上桌,這時娃娃菜剩下20min吃完, 紅燒肉剩下20min吃完。

14:50時,紅豆湯做好了,由於紅豆湯是冷的,不需要墊子,所以服務員把紅豆湯上桌。

這個時候剛好娃娃菜吃完了,所以飯桌上有紅燒肉和紅豆湯。甜品得放最後吃,所以先吃紅燒肉,此時紅燒肉剩20min吃完。

   15:00時,糖醋魚也做好了,但是糖醋魚也需要墊子,不上桌。這個時候,後廚那邊還有一個烏雞湯和一個糖醋魚沒上桌。

   15:10時,紅燒肉終於被我吃完了。終於騰出個墊子,累死爸爸了。這個時候,烏雞湯和糖醋魚就開始爭著上桌了。服務員說今晚要約會,還是先上糖醋魚吧,吃

10min之後就可以洗碗了,早點下班見男神啊。糖醋魚上了之後,烏雞湯就不能上了,因為只有一個墊子。

 我們吃完紅燒肉,飯桌上有紅豆湯和糖醋魚。我是屬貓的,很喜歡糖醋魚,先吃糖醋魚。

   15:20時,糖醋魚吃完啦,好飽啊。服務員看到有墊子了,馬上就送上來了烏雞湯。我覺得烏雞湯也還行,就開吃了,紅豆再最後喝吧。就開始喝烏雞湯。

   16:10時,這碗烏雞湯是超級大碗的啊,喝了我50min,好飽啊,飯桌上剩個紅豆湯,喝吧

   16:30時,我把所有的菜都吃完了!

 

菜名

做好時間

吃掉需時

需要墊嗎

我的喜好

吃完時間

菜涼了時間/min

紅燒肉

14:00

40

1

4

15:10

70

娃娃菜

14:20

30

0

2

14:50

30

烏雞湯

14:30

50

1

3

16:10

100

紅豆湯

14:50

20

0

5

16:30

100

糖醋魚

15:00

10

1

1

15:20

20

平均菜涼了時間=70+30+100+100+20/5=64min