1700495547
1700495548
虽然我们总能找到一些方式安排我们每天要做的事情,然而我们似乎并不认为我们善于安排这些事情。因此,时间管理指南之类的书常年位居畅销书榜的前列。不幸的是,我们往往能发现这些指南之间的矛盾和不一致之处。《尽管去做》一书中提倡的是,一想到任何可以在两分钟内完成的任务就立即去做。另一本同类畅销书《吃掉那只青蛙!》建议从最困难的任务开始,再逐步转向更容易的事情。《战胜拖延》一书则建议首先执行调度者的社交活动和休闲活动,然后再将工作填充到空白时间之中,而不是我们经常做的相反的顺序。“美国心理学之父”威廉·詹姆斯曾断言,“没有什么比永远有一个未完成的任务悬在那里更让人感到疲惫不堪的”,但弗兰克·帕特诺伊在《等待》中提到一些故意不立即完成任务的例子。
1700495549
1700495550
每位大师都有其独特的思想体系,我们很难知道该听谁的。
1700495551
1700495552
1700495553
1700495554
1700495556
算法之美:指导工作与生活的算法 安排时间是一门科学
1700495557
1700495558
虽然时间管理跟时间本身一样古老,但时间调度这门科学是在工业革命时期的机器工厂中产生的。弗雷德里奇·泰勒是一名有钱律师的儿子,1874年,他放弃了哈佛大学的学业机会,去费城的恩特普赖斯水压工厂做了机工学徒。4年后,他完成了他的学徒生涯,开始在米德维尔钢铁厂工作,在那里,他一路从车工车间领班做到了总工程师。在这个过程中,他发现,他监管的机器(和人)的时间并没有被很好地利用,这促使他开创了他所谓的“科学管理”这一门学科。
1700495559
1700495560
泰勒创建了一个规划办公室,它的中心是一个公告板,展示了商店的日程安排,以便所有人都能看到。公告板记录商店里的每一台机器,显示该机器目前正在执行的任务,以及后续将执行的所有任务。这一创意是由泰勒的同事亨利·甘特提出的,他在1910年开发的甘特图帮助了从胡佛大坝到州际公路系统等20世纪美国很多雄心勃勃的建设项目规划组织。一个世纪后,甘特图仍然出现在亚马逊、宜家和美国太空探索技术公司项目经理办公室的墙壁和屏幕上。
1700495561
1700495562
泰勒和甘特将调度变成一种研究对象,他们赋予它视觉和概念的形式。但他们并没有解决一个基本问题,那就是,到底怎样安排日程是最好的。直到几十年之后的1954年,兰德公司的数学家塞尔默·约翰逊在他发表的一篇论文里才第一个暗示这一问题可以被解决。
1700495563
1700495564
约翰逊研究的是书籍装订这个例子,在装订过程中,每本书都需要在一台机器上印刷,然后在另一台机器上进行装订。但这种最常见的双机器安装例子更类似于家庭中的洗衣服。当你洗衣服时,必须先用洗衣机再用烘干机,每次洗不同的衣服花费的时间也不同。大的污渍可能需要更长的清洗时间,但烘干时间均不变;衣服数量多可能需要更长的烘干时间,但洗衣时间不变。所以,约翰逊问,如果在同一天你有很多衣服要洗和烘干,最好的处理方法是什么?
1700495565
1700495566
他的答案是,你首先应该找到一个需要最少时间的洗衣或者烘干的方法,如果这种最短时方法需要用洗衣机,那么先洗这批衣服。如果这种方法需要用烘干机,将这一步放到最后。剩下的衣服重复此最优分类过程,也就是在安排上从两端向中间进行。
1700495567
1700495568
直观地说,约翰逊的算法之所以合理是因为无论你如何安排洗衣的顺序,在开始时总有一段时间是洗衣机单独运行的,而在结束时总有一段时间是烘干机单独运行的。将开始时的洗衣时间和结束时的烘干时间最小化后,你就能将洗衣机和烘干机共同工作的时间最大化。因此,用于洗衣的总时间就会是绝对最小值。约翰逊的分析产生了时序安排的第一个最佳算法:从最好洗的衣服洗起,以最少的烘干衣量结束。
1700495569
1700495570
在直接应用之外,约翰逊的研究还揭示了更深层次的两点内容:第一,时序安排可以通过算法表达;第二,存在最优时序安排方案。这引发了一项庞大的研究,为大量假定工厂中不同数量和种类的机器运行提供策略。
1700495571
1700495572
与装订或洗衣过程不同,我们将重点研究这其中的一小部分:单一机器调度。因为最重要的时间调度问题只涉及一台机器:我们自己。
1700495573
1700495574
1700495575
1700495576
1700495578
算法之美:指导工作与生活的算法 处理时限
1700495579
1700495580
一提到单机调度,我们立马会遇到一些问题。约翰逊的装订调度是基于最小化两机共同工作时间来降低总时间的。然而,在单机调度的情况下,如果我们要完成所有被赋予的任务,那么所有的安排都应该用同样长的时间去完成,这与先后顺序无关。
1700495581
1700495582
这一点最基本且违反直觉,值得重复应用。如果你只有一台机器,同时你必须完成所有的任务,那么对于任务的任何排序都将花费相同的时间。
1700495583
1700495584
因此,甚至在开始之前,我们就会遇到单机调度的第一堂课:明确你的目标。我们只有知道如何保持得分时才能宣布哪种安排更好。这是计算机科学中的一个主题:在你有一个计划之前,必须首先选择一个衡量指标。而事实上,我们最终挑选的这个指标将直接影响哪种安排方法的实施效果最好。
1700495585
1700495586
紧随约翰逊的装订理论,第一批单机调度研究应运而生,这些研究提供了几种合理的衡量指标。对于每一种指标,他们都提出了一种简单的、最优的策略。
1700495587
1700495588
这当然是很常见的,比如对有截止日期的任务,我们需要根据延期的程度进行判断。所以我们可以认为,在一批任务中“最大延迟”的任务就是超过截止日期最多的任务——这可能是你的老板在员工绩效评估中会在意的任务。(或者是你的客户在零售或服务过程中可能会关心的任务,其中“最大延迟”的任务对于顾客来说,是跟等待时间直接相关的。)
1700495589
1700495590
如果你要降低最大延迟时间,那么最佳策略就是你先从截止日期最近的任务开始,再以此类推逐渐执行。这一策略被直观地称为最早到期日原则。(例如,在服务行业,每位客户的“到期日”就是他们走进店的那一刻,这就意味着要按照客户进店的顺序进行服务。)但其中也有很多令人惊讶的问题。例如,每个任务要用多长时间完成是完全不相关的:它不会改变整体计划,所以实际上你甚至不需要知道任务时长,重要的是任务何时到期。
1700495591
1700495592
你可能已经使用最早到期日原则来统筹你的工作,在这种情况下,不需要计算机科学来证明这是个明智的策略。但你可能不知道,这就是最优策略。更确切地说,它假设你对一种衡量标准尤其感兴趣,即要减少你的最大延迟。但是,如果这不是你的目标,另一种策略可能就会更适合。
1700495593
1700495594
以冰箱为例。如果你是社区支持农业组织的成员,那么每一周或两周就会有很多新鲜农产品被送到你家。每一件产品生产于不同日期,所以你要根据它们的最早到期日期吃这些食物,根据保质期这个顺序吃它们似乎是一个合理的出发点。然而,事实不完全是这样。最早到期日是为了更好地减少最大延迟,这就意味着,它将最大限度地减少你吃到过期食物的概率,但这也许不是从最可口这个标准来衡量的。
1700495595
1700495596
也许我们要尽量减少腐烂食物的数量,穆尔的BM算法可以帮我们做出最好的计划。穆尔算法认为,我们第一步应该先按照最早过期日,也就是食物的腐烂日期将食物进行排序,最早过期的先吃,一次吃一个。然而,一旦我们意识到,也许不能在过期日之前吃完下一个食物时,我们就会暂停该计划,转过头考虑之前已有的计划,并拿出最大的项目(即一个将吃最长时间的食物)。例如,这可能意味着放弃要吃6顿的西瓜,甚至没有考虑尝试此食物之后很快能吃完的所有食物。然后,我们重复这种模式,按照食物的过期日排序,又在计划好的最大项目上停滞。只要我们能按照过期日的先后顺序将剩下的所有食物在过期之前吃完,那我们就完成了计划。
[
上一页 ]
[ :1.700495547e+09 ]
[
下一页 ]