張廣鋮
基于Matlab和lingo對(duì)生產(chǎn)過(guò)程中機(jī)器設(shè)備布局的優(yōu)化
張廣鋮
(南京農(nóng)業(yè)大學(xué) 工學(xué)院,南京 210031)
現(xiàn)下很多工廠生產(chǎn)產(chǎn)品時(shí),不同的生產(chǎn)線共用同一組機(jī)器設(shè)備很是常見,不同生產(chǎn)線下所需機(jī)器加工的順序不盡相同,因此合理布局一組機(jī)器設(shè)備,是減少加工過(guò)程物料搬運(yùn)步數(shù)的關(guān)鍵。本文針對(duì)線圖模式下的機(jī)器設(shè)備布局,利用matlab程序和lingo算法,求解出最佳的布局方式,有一定的推廣意義。
布局優(yōu)化 最小步數(shù) matlab lingo
現(xiàn)今大多數(shù)的工廠中,一組機(jī)器設(shè)備會(huì)負(fù)責(zé)生產(chǎn)幾條甚至更多的生產(chǎn)線。這樣的生產(chǎn)方式原因來(lái)自于兩方面,第一,可以增加機(jī)器的工作效率,降低其閑置率;第二,節(jié)約企業(yè)成本。這樣的生產(chǎn)方式固然可降低成本,但隨之帶來(lái)的是生產(chǎn)線之間存在等待時(shí)間,物料搬運(yùn)復(fù)雜度變高,導(dǎo)致生產(chǎn)效率降低和物料搬運(yùn)成本的增高。那么如何在機(jī)器設(shè)備少的情況下,減少其物料搬運(yùn)成本,使成本達(dá)到最低?本文針對(duì)一個(gè)具體實(shí)例,用matlab和lingo對(duì)其布局進(jìn)行分析,合理安排機(jī)器設(shè)備的位置,使物料搬運(yùn)成本最低。一組零件及其生產(chǎn)流程如表1所示,每個(gè)機(jī)器設(shè)備之間距離為1,試給出較合理布局。
表1 零件及其生產(chǎn)流程的布局
對(duì)于上述的問(wèn)題,5個(gè)零件工序,都是從Z開始,至X結(jié)束??蓪看做原材料入口,X看做生產(chǎn)線出口,其中B、C、D、E、F、G看做不同的機(jī)器設(shè)備。進(jìn)一步分析可知,要使搬運(yùn)步數(shù)最少,即為各個(gè)零件工序各個(gè)加工步驟總步數(shù)最少,所以將中間6個(gè)機(jī)器設(shè)備看做變量隨機(jī)排序,6個(gè)變量的取值為2,3,4,5,6,7中的一個(gè)且各不相等,以此法排列,共有66A種,即720種排序方式。第一道工序Z賦值為1,最后一道工序X賦值為8,共同賦給一個(gè)720×8的矩陣,這個(gè)矩陣包含了所有的機(jī)器設(shè)備排列,之后用一個(gè)for循環(huán),求出所有可能情況下的步數(shù)。matlab程序如下:
end
zuijia=min(ss)
上述程序中分別將Z、B、C、D、E、F、G、X分別看作是變量a1、a2、a3、a4、a5、a6、a7、a8,其中a1、a8分別為常量1和8,程序中的變量lujing代表最短路徑時(shí)B、C、D、E、F、G在最佳排列方式下的位置,變量qq則為最佳排列方式,變量zuijia為最佳排列時(shí)的總步數(shù)。
最后得到結(jié)果:
zuijia=51,qq='Z''F''G''C''B''D''E''X'。
Lingo算法的思想與上述所說(shuō)的matlab思想相同,以5個(gè)零件的生產(chǎn)步數(shù)為目標(biāo)函數(shù),以6個(gè)變量的取值為2,3,4,5,6,7中的一個(gè)且各不相等為約束條件,lingo算法如下:
min=@a b s(a(1)-1)+@a b s(a(2)-a(1))+@ abs(a(4)-a(2))+@abs(a(3)-a(4))+@abs(a(6)-a(3))+@ abs(8-a(6))+@abs(a(2)-1)+@abs(a(4)-a(2))+@ abs(a(3)-a(4))+@abs(a(1)-a(3))+@abs(8-a(1))+@ abs(a(5)-1)+@abs(a(6)-a(5))+@abs(a(2)-a(6))+@ abs(a(1)-a(2))+@abs(a(3)-a(1))+@abs(a(4)-a(3))+@ abs(8-a(4))+@abs(a(6)-1)+@abs(a(1)-a(6))+@ abs(a(3)-a(1))+@abs(a(4)-a(3))+@abs(8-a(4))+@ abs(a(3)-1)+@abs(a(1)-a(3))+@abs(a(4)-a(1))+@ abs(8-a(4));
@for(bushu(i):a(i)=@sum(zhi(j):credit(i,j)*fla g(i,j)));
@for(zhi(j):@sum(bushu(i):flag(i,j))=1);
@for(bushu(i):@sum(zhi(j):flag(i,j))=1);
@for(links:@bin(flag));
end
上述lingo程序中a(1)、a(2)、a(3)、a(4)、a(5)、a(6)分別表示B、C、D、E、F、G在最佳排列方式下的位置,credit為位置矩陣,flag為0-1矩陣。最終結(jié)果為
a(1)=5,a(2)=4,a(3)=6,a(4)=7,a(5)=2,a(6)=3,即B位于第五個(gè)位置,C位于第四個(gè)位置,D位于第六個(gè)位置,E位于第七個(gè)位置,F(xiàn)位于第二個(gè)位置,G位于第三個(gè)位置,最后的排列順序額為Z―F―G―C―B―D―E,目標(biāo)函數(shù)的值為51,和matlab結(jié)果相同。
本文中所介紹的matlab程序和lingo算法,只針對(duì)于同一條直線上的機(jī)器設(shè)備布局優(yōu)化,在此基礎(chǔ)上,不論生產(chǎn)線條數(shù)的多少,機(jī)器設(shè)備的多少,均適用,具有一定的推廣意義。
[1]劉佳.大學(xué)數(shù)學(xué)教學(xué)中MATLAB的應(yīng)用[J].常州信息職業(yè)技術(shù)學(xué)院學(xué)報(bào),2011,10(6):67-70.
[2]管梅.LINGO在運(yùn)籌學(xué)實(shí)踐教學(xué)中的應(yīng)用[J].科技視界,2015,(12):19-20.
Matlab and Lingo of the Production Process Optimization Based on Equipment Layout
ZHANG Guangcheng
(Nanjing Agricultural College Institute of Technology,Nanjing 210031)
Holding many lessons when many factories producing products, different production lines share the same set of equipment is very common, the order required for machining in different production lines are not the same, so a group of rational distribution of equipment, material handling process is key to reducing the number of steps . In this paper, machinery and equipment layout diagram mode, using matlab procedures and lingo algorithms for solving the optimal layout, there are some promotional sense.
layout optimization, the smallest number of steps, matlab, lingo