排程問題2:早晚都要

JN-avatar-img
發佈於計算機
更新於 發佈於 閱讀時間約 4 分鐘

前言

看著認真、認命上班的人越來越多,感觸良多,​我就提醒一句,

「不要瞎忙,以終為始,」

「begin with the end in mind」

懂的就懂。

排程問題進入第二集,相信會往下看的讀者, 不是看過前一集 排程問題1:晚了就不要,就是被類似問題困擾,不然大部分人應該看不下去才是。那就不囉嗦,直接進入主題,速戰速決不嘴砲。


情境 - 早晚都要

描述

主管交代了 N 個專案,每一個專案可以遲交,不能沒交,早晚都要做完交出去,否則客戶會發飆,大家就倒大楣了。然而,雖然專案可以遲交,但每項專案都有自己的 deadline,每遲交一天,都要繳給客戶額外的遲交補償金

那麼,我們該如何規劃這些專案的 schedule?哪些專案先做、哪些後做?雖然遲交不可避免,有的同事天天熬夜加班,最後公司仍要繳給客戶高額補償金,但也有同事總是能幫公司省下許多補償金,是如何辦到的?


目標

為手上 N 個非做完不可的專案規劃好執行順序 (schedule),使得最後給客戶的遲交補償金最少。


舉個例子

如圖,

4 個專案 A, B, C, D 的期限和每天的遲交補償金

4 個專案 A, B, C, D 的期限和每天的遲交補償金

今天 7/1,

專案A,耗時3天,期限7/4,每遲交一天罰9110元,

專案B,耗時2天,期限7/7,每遲交一天罰2913元,

專案C,耗時3天,期限7/8,每遲交一天罰2206元,

專案D,耗時1天,期限7/3,每遲交一天罰0422元。


三種排程 1, 2, 3

三種排程 1, 2, 3

排程 1,專案 C 遲交 1 天,專案 D 遲交 7 天,補償金共:

2206元 * 1天 + 422元 * 7天 = 5160元。

排程2,只有一項,專案 A 遲交 6 天,補償金共:

9110元 * 6天 = 54660元。

排程3,專案 A 遲交 1 天,專案 C 遲交 2 天,補償金共:

9110元 * 1天 + 2206元 * 2天 = 13522元。


本例為方便理解,僅以四個專案來舉例,頭腦靈活一點的人,可直接窮舉四個專案的所有排序 (P四取四,共24種排序),找到補償金最小的排序。但當專案數量稍多一點,排序方法就會暴增,例如五個專案有120種排序,六個專案有720種排序。數量越多,越難窮舉,除非已經財富自由,把上班當交朋友,不然實在不建議把時間揮霍在這種地方。


解題思路

一、簡化問題

觀察上圖可以發現,因為 A B C D 四個專案都要做完,所以不論何種排程,最後一天一定是 7/10。這題就可以簡化為,從最後一天7/10開始往前排,每次都找出補償金最小的專案排入行程表。


二、排程方法

簡化後變得很簡單,就直接演示一次了。

7/10,

若排入專案A,補償金為 9110元 * 6天 = 54660元,

若排入專案B,補償金為 2913元 * 3天 = 8739元,

若排入專案C,補償金為 2206元 * 2天 = 4412元,

若排入專案D,補償金為 422元 * 7天 = 2954元,

所以 7/10 排入專案D。

7/9,

若排入專案A,補償金為 9110元 * 5天 = 45550元,

若排入專案B,補償金為 2913元 * 2天 = 5826元,

若排入專案C,補償金為 2206元 * 1天 = 2206元,

所以 7/9 排入專案C。

再來從 7/6 繼續往前排

再來從 7/6 繼續往前排

7/6,

若排入專案A,補償金為 9110元 * 2天 = 18220元,

若排入專案B,補償金為 2913元 * 0天 = 0元,

所以 7/6 排入專案B。

7/4,

排入最後一個,專案A,輕鬆完成。

補償金最小的排程

補償金最小的排程

專案A 準時,專案B 準時,專案C 遲交 1 天,專案D 遲交 7 天,補償金共:

2206元 * 1天 + 422元 * 7天 = 5160元。


總結

化繁為簡,從最後一天開始往前排,每次都找出補償金最小的專案排入行程表。

延伸思考:如果像是這篇 混亂的約會行程,竟是學妹給的智力測驗!? 裡的工具人JN 一樣,被要求某些專案要在某些專案前完成,(例如,B要在A之前、C要在要AD之前..),可以怎麼排?

其實排法都差不多,有興趣的拿紙筆寫寫看就知道了。


附件

太累,有機會再補上解題程式碼..


avatar-img
62會員
29內容數
個人網誌啦~ 內容包含但不限於學習筆記、心情抒發、火星廢文...
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
JN的沙龍 的其他內容
當主管突然交代一堆工作時,我們通常會先估算各項工作需要的時間,然後按部就班執行。但當主管為各項工作設定了 deadline,我們對於如何安排一個有效率的排程,往往百思不得其解。這類問題變化非常多,本篇文章將以其中一種常見的情境來分享解題思路...
前陣子看到有人在討論徵友,讓我想起大學時的學妹,小香,清新脫俗,香氣四溢,每天排隊給她帶三餐的工具男多到「罄竹難書」,而我也是其一。我相信有試有機會,畢竟我爸開保時捷,我媽開法拉利,我開玩笑...
當主管突然交代一堆工作時,我們通常會先估算各項工作需要的時間,然後按部就班執行。但當主管為各項工作設定了 deadline,我們對於如何安排一個有效率的排程,往往百思不得其解。這類問題變化非常多,本篇文章將以其中一種常見的情境來分享解題思路...
前陣子看到有人在討論徵友,讓我想起大學時的學妹,小香,清新脫俗,香氣四溢,每天排隊給她帶三餐的工具男多到「罄竹難書」,而我也是其一。我相信有試有機會,畢竟我爸開保時捷,我媽開法拉利,我開玩笑...
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
『居家工作者』需要的自律,與強力的時間管理 這一套方法,適合所有居家工作的人使用,尤其適合『運用零碎時間累積工作的人』,例如:家庭主婦、作家、藝術家、自由接案SOHO族……等等。 你只需要兩本記事本:一本使用你習慣的格式就好,另外一本請選把一天可使用時間都列出來的工作日誌。 我建議使用紙本筆記,
加班費:要能區分正常工時工資與延長工時加班費 談加班(延長工時)得先知道幾種日子。工作日(正常工作時間)、例假日、休假日、國定假日、天然災害出勤。 工作日:前2小時1.34倍、再2小時1.67倍。(一天只能4小時)(勞動基準法§24) 例假日:除天災外不得工作,縱使勞工同意,亦不得使勞工於例假
Thumbnail
起因: 我在某公司服務數年,平日常常打卡後繼續加班,假日常常要帶東西回家做,不曾領到加班費。 其實我離職也好一段時間了,近半年來衡量利弊得失以及法律諮詢後,我決定討這筆錢。 實務準備(for 勞資調解): 1.加班時間表:用EXCEL記錄每一天的實際下班時間,加班時間,要討的加班費,記住,是每
Thumbnail
如果是在小公司工作,會有那種經驗就是,發薪日會卡在假日,這時老闆要在假日前給你薪水或是假日後都是可以理解的;但是對員工來說,假日之前給或是假日後給,意義是相差很大的。 有時假日是碰到三大節日,如果說是給薪日卡在三大節日中間的話,而老闆們又是放完假之後再給你錢,拿到錢的爽度就差了很多。如果說是在放假
如何利用「峰終定律」來設計一天的工作體驗呢? 將一天的知識工作量化,做紀錄,是一個很好用的方法。 我通常會使用 135任務法,每天早上寫下1件大事,3件中事,5件小事, 接著當天就奔著這幾件事情去推進完成。 當然,如果是在趕Paper提交的時期就不適用這個規則。 透過將
Thumbnail
這一週終於來到星期四,上班日的倒數第二天,此刻的現在,只剩下一天。 本週是外勤週,除了本來的既定工作以外,如果需要去外縣市處理大事小事就要負責開車出勤,通常一週可能去個三天就差不多了,但今天來到第四天,已出勤了三天,明天也預定出勤中! 然後…有些公單位處理事情真的很。緩。慢! 送個件,繳個錢,
Thumbnail
在工作和生活中,常常有許多待辦事項等著我們去執行,有時候會覺得我們像無頭蒼蠅一樣瞎忙,但時間管理的四象限提供了我們一個辨別要做的事情的方法 時間管理的四象限 1.急事:重要緊急 如應酬、開會、即將截止的工作等 2.要事:重要不緊急 如看書、運動、學英文、培養興趣技能等 3.雜事:不重要緊
Thumbnail
每天生活都快節奏,如何提高工作效率成為了很多人關心的問題。這篇文章教你如何計畫每一天,為代辦事項安排輕重緩急,以及拒絕瞎忙,每天完成最優先事項。
Thumbnail
在以前我對於繳費、繳交作業、答應他人做的事時,我並沒有太在意,時而拖延時而忘記,有時候明明記得要去繳交帳單,我就會想「喔!時間還有,明天再去做...明天...」或是說答應跟人約好的時間遲到了,變成習慣性的拖延完成一些事,還有很多很多 ... ... 浪費他人時間也是,這些小小的行為,都會讓我們在未來
加班能不能報? 能報加班費嗎? 還是只能報補休? 在遵循勞基法的大前提下,相信沒有幾家公司有膽明文規定說不行。但相信每家公司檯面下或多或少都存在著潛規則。而我的公司裡不同的單位也都有著不一樣的私下約定,明示+暗示的要求同仁遵守著。
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
『居家工作者』需要的自律,與強力的時間管理 這一套方法,適合所有居家工作的人使用,尤其適合『運用零碎時間累積工作的人』,例如:家庭主婦、作家、藝術家、自由接案SOHO族……等等。 你只需要兩本記事本:一本使用你習慣的格式就好,另外一本請選把一天可使用時間都列出來的工作日誌。 我建議使用紙本筆記,
加班費:要能區分正常工時工資與延長工時加班費 談加班(延長工時)得先知道幾種日子。工作日(正常工作時間)、例假日、休假日、國定假日、天然災害出勤。 工作日:前2小時1.34倍、再2小時1.67倍。(一天只能4小時)(勞動基準法§24) 例假日:除天災外不得工作,縱使勞工同意,亦不得使勞工於例假
Thumbnail
起因: 我在某公司服務數年,平日常常打卡後繼續加班,假日常常要帶東西回家做,不曾領到加班費。 其實我離職也好一段時間了,近半年來衡量利弊得失以及法律諮詢後,我決定討這筆錢。 實務準備(for 勞資調解): 1.加班時間表:用EXCEL記錄每一天的實際下班時間,加班時間,要討的加班費,記住,是每
Thumbnail
如果是在小公司工作,會有那種經驗就是,發薪日會卡在假日,這時老闆要在假日前給你薪水或是假日後都是可以理解的;但是對員工來說,假日之前給或是假日後給,意義是相差很大的。 有時假日是碰到三大節日,如果說是給薪日卡在三大節日中間的話,而老闆們又是放完假之後再給你錢,拿到錢的爽度就差了很多。如果說是在放假
如何利用「峰終定律」來設計一天的工作體驗呢? 將一天的知識工作量化,做紀錄,是一個很好用的方法。 我通常會使用 135任務法,每天早上寫下1件大事,3件中事,5件小事, 接著當天就奔著這幾件事情去推進完成。 當然,如果是在趕Paper提交的時期就不適用這個規則。 透過將
Thumbnail
這一週終於來到星期四,上班日的倒數第二天,此刻的現在,只剩下一天。 本週是外勤週,除了本來的既定工作以外,如果需要去外縣市處理大事小事就要負責開車出勤,通常一週可能去個三天就差不多了,但今天來到第四天,已出勤了三天,明天也預定出勤中! 然後…有些公單位處理事情真的很。緩。慢! 送個件,繳個錢,
Thumbnail
在工作和生活中,常常有許多待辦事項等著我們去執行,有時候會覺得我們像無頭蒼蠅一樣瞎忙,但時間管理的四象限提供了我們一個辨別要做的事情的方法 時間管理的四象限 1.急事:重要緊急 如應酬、開會、即將截止的工作等 2.要事:重要不緊急 如看書、運動、學英文、培養興趣技能等 3.雜事:不重要緊
Thumbnail
每天生活都快節奏,如何提高工作效率成為了很多人關心的問題。這篇文章教你如何計畫每一天,為代辦事項安排輕重緩急,以及拒絕瞎忙,每天完成最優先事項。
Thumbnail
在以前我對於繳費、繳交作業、答應他人做的事時,我並沒有太在意,時而拖延時而忘記,有時候明明記得要去繳交帳單,我就會想「喔!時間還有,明天再去做...明天...」或是說答應跟人約好的時間遲到了,變成習慣性的拖延完成一些事,還有很多很多 ... ... 浪費他人時間也是,這些小小的行為,都會讓我們在未來
加班能不能報? 能報加班費嗎? 還是只能報補休? 在遵循勞基法的大前提下,相信沒有幾家公司有膽明文規定說不行。但相信每家公司檯面下或多或少都存在著潛規則。而我的公司裡不同的單位也都有著不一樣的私下約定,明示+暗示的要求同仁遵守著。