算法是近些年來很熱的一個(gè)名詞,在供應(yīng)鏈管理中有許多應(yīng)用。讀者們或許也聽過其中的幾種,例如模擬退火算法、遺傳算法和人工神經(jīng)網(wǎng)絡(luò)算法等等。這些算法的名字給人們一種高深莫測的感覺,把沒有學(xué)習(xí)過相關(guān)知識(shí)的人都拒之門外。
算法究竟是什么?從本質(zhì)上講,算法是在計(jì)算或其他操作中遵循的任何過程或一組步驟或規(guī)則,任何定義明確的計(jì)算步驟都可稱為算法,它接受一個(gè)或一組值為輸入,輸出一個(gè)或一組值。
簡單來說,算法是用來解決特定問題的一系列的步驟,不僅計(jì)算機(jī)會(huì)使用算法,在我們的日常生活中也在用到它,只是沒有察覺到。舉個(gè)例子,蛋炒飯的做法就是一種算法,它有輸入、制作過程和輸出。
輸入:雞蛋2枚、冷米飯200克、鹽3克、食用油適量
制作過程:
1.把雞蛋打散成蛋液,加入鹽
2.開火,鍋熱后倒入食用油
3.放入蛋液翻炒2分鐘,轉(zhuǎn)小火
4.放入米飯,用鍋鏟快速將米飯與雞蛋剁勻
5.轉(zhuǎn)中火,不斷翻炒3分鐘
輸出:成品的蛋炒飯
相信任何人看過這份菜譜后就能夠制作蛋炒飯,這就是一套算法,它需要具備這些特性。
1.每一個(gè)步驟都是簡單直接的:整個(gè)烹飪過程中沒有模棱兩可的地方。
2.有一組明確的輸入和輸出:需要準(zhǔn)備的食物材料就是輸入,成品的蛋炒飯是輸出。
3.在有限的時(shí)間內(nèi)停止,并產(chǎn)生一個(gè)正確的結(jié)果:不可能一直炒飯,否則就燒糊了。
您是否已經(jīng)理解了算法呢?讓我們再舉個(gè)例子。庫存管理中經(jīng)常遇到的問題是缺料,因?yàn)槲锪弦恢痹谙?,所以就?huì)有用完的時(shí)候。計(jì)劃員需要知道什么時(shí)候物料會(huì)短缺,這就是一套算法。
假設(shè)某個(gè)物料在倉庫里的數(shù)量是2144件,每周的使用數(shù)量如下表,需要計(jì)算出庫存使用至哪一周會(huì)用完。
日期 |
每周使用數(shù)量 |
11月7日 |
1040 |
11月14日 |
410 |
11月21日 |
390 |
11月28日 |
280 |
12月5日 |
260 |
12月12日 |
310 |
12月19日 |
420 |
最簡單的辦法是拿個(gè)計(jì)算器,用2144減去1040、410…直至出現(xiàn)負(fù)數(shù)為止,然后查一下對應(yīng)的日期是12月5日,根本不需要什么算法。如果有成千上萬顆物料,還能夠使用計(jì)算器嗎?
這時(shí)候就要用算法來求解了,來看一下這個(gè)計(jì)算步驟的輸入、過程和輸出都是什么。
輸入:期初的庫存數(shù)量Z、日期、每周的使用數(shù)量Y(i)
計(jì)算過程:
1.設(shè)定期初的庫存數(shù)量為Z,設(shè)定i=1
2.選用Y(i)的值
3.Z=Z-Y(i),如果Z>0 ,那么設(shè)定i=i+1,返回第二步
4.如果Z<=0,那么返回i對應(yīng)的日期
5.結(jié)束
輸出:庫存用完的日期
讓我們逐步來分解這個(gè)算法的過程。首先,設(shè)定了Z是期初的庫存數(shù)量2144件,i等于1。下一步是選擇對應(yīng)的Y(1)值1040,然后用2144減去1040得到新的Z值1104,意味著在這周結(jié)束的時(shí)候,還有1104件庫存。由于新Z值大于0,i要加1,新的i值變成了1+1=2,返回第二步。
此時(shí)Y(2)的數(shù)字是410,用1104減去410得到694,依然是大于0,那么i=2+1=3,再回到第二步。
現(xiàn)在Y(3)是390,Z值已經(jīng)是694,扣減前者后數(shù)量是304,還是大于0,i就變成了4,繼續(xù)返回第二步。
Y(4)是280,Z值是304,計(jì)算的結(jié)果大于0,i現(xiàn)在成為了5,回到第二步。
Y(5)等于260,而Z值只剩下了24,顯然它減去260小于0,終于返回i對應(yīng)的日期,“12月5日”,結(jié)束計(jì)算。
i |
每周的使用數(shù)量Y(i) |
庫存數(shù)量Z |
日期 |
1 |
1040 |
2144 |
11月7日 |
1 |
1040 |
1104 |
11月7日 |
2 |
410 |
694 |
11月14日 |
3 |
390 |
304 |
11月21日 |
4 |
280 |
24 |
11月28日 |
5 |
260 |
-236 |
12月5日 |
最后來評估一下這個(gè)算法是否具備基本的特性。
1.每一個(gè)步驟都是簡單直接的:是的,每一個(gè)計(jì)算步驟都很清楚。
2.有一組明確的輸入和輸出:是的,輸入信息包括了期初的庫存數(shù)量、日期和每周的使用數(shù)量,輸出的結(jié)果是庫存消耗完的日期。
3.在有限的時(shí)間內(nèi)停止,并產(chǎn)生一個(gè)正確的結(jié)果:是的,只要庫存有在使用,就會(huì)有用完的那天,并且給出了對應(yīng)的日期。
以上是關(guān)于算法的定義和最基本的介紹,它基本上是一套程序或是流程,在計(jì)算機(jī)的幫助下進(jìn)行自動(dòng)運(yùn)行。
瑪氏中國|2025年度瑪氏箭牌北京區(qū)域包材及原材料倉儲(chǔ)(VMI)項(xiàng)目
2159 閱讀華為的物流“布局”,為何備受關(guān)注?
1376 閱讀快運(yùn)網(wǎng)點(diǎn)蛻變:做云倉、盈利大增、沖刺億元營收
1324 閱讀北美倉配一體機(jī)會(huì)和風(fēng)險(xiǎn)
1187 閱讀?年?duì)I收15億的跨境物流企業(yè)要上市
930 閱讀縱騰集團(tuán)借殼上市,6.4億收購A股上市公司綠康生化
889 閱讀解秘粵港澳大灣區(qū)規(guī)模最大的生產(chǎn)服務(wù)型國家物流樞紐——廣州東部公鐵聯(lián)運(yùn)樞紐
861 閱讀TEMU美區(qū)半托管即將開放國內(nèi)發(fā)貨模式
771 閱讀京東物流一線員工日10周年:為5年、10年老員工授勛,為15000名標(biāo)桿頒獎(jiǎng)
710 閱讀海瀾之家5000+門店入駐京東秒送
705 閱讀