朱雨紅
摘 要:隨著現(xiàn)代生產(chǎn)技術(shù)水平的不斷提升,在工程項(xiàng)目的管理推進(jìn)過程中,網(wǎng)絡(luò)計(jì)劃技術(shù)逐漸取代傳統(tǒng)的靜態(tài)管理模式,以達(dá)到動態(tài)管控工程項(xiàng)目、全面滿足工程項(xiàng)目實(shí)際需求的目的,有利于控制工程項(xiàng)目成本、節(jié)約企業(yè)社會資源、提高施工效率、增強(qiáng)企業(yè)的競爭力。在此基礎(chǔ)上,怎樣找到最佳網(wǎng)絡(luò)計(jì)劃方案對于工程項(xiàng)目的實(shí)施十分關(guān)鍵。將雙代號網(wǎng)絡(luò)計(jì)劃圖與C語言相結(jié)合,通過建立基于網(wǎng)絡(luò)計(jì)劃圖的C語言計(jì)算模型,旨在為雙代號網(wǎng)絡(luò)計(jì)劃優(yōu)化中的費(fèi)用優(yōu)化提供一種算法解決思路。
關(guān)鍵詞:雙代號網(wǎng)絡(luò)計(jì)劃;費(fèi)用優(yōu)化;C語言;CPM
中圖分類號:TB 文獻(xiàn)標(biāo)識碼:Adoi:10.19311/j.cnki.1672-3198.2019.29.104
網(wǎng)絡(luò)計(jì)劃技術(shù)在現(xiàn)代工程項(xiàng)目的監(jiān)督管理中有著重要的影響。它憑借科學(xué)合理的方法詳細(xì)規(guī)劃工程項(xiàng)目,通過對多方面資源的優(yōu)化配置即網(wǎng)絡(luò)計(jì)劃優(yōu)化,可以減少項(xiàng)目的費(fèi)用支出,高效減少項(xiàng)目整體的工期,提高工程施工的效率,減少企業(yè)投入的費(fèi)用成本,增強(qiáng)企業(yè)的競爭力。網(wǎng)絡(luò)計(jì)劃的優(yōu)化根據(jù)優(yōu)化目標(biāo)不同,分為工期優(yōu)化、費(fèi)用優(yōu)化和資源優(yōu)化。雙代號網(wǎng)絡(luò)圖作為網(wǎng)絡(luò)計(jì)劃的表達(dá)形式之一被廣泛應(yīng)用于工程項(xiàng)目的管理中。
1 概述
1955年,美國杜邦化學(xué)公司提出將每一活動規(guī)定起止時間,然后按照活動的順序繪制成一種網(wǎng)絡(luò)狀圖形的設(shè)想。1957 年,由雷明頓——蘭德公司(Remington- Rand)的JE克里(JE Kelly)和杜邦公司的 MR 沃爾克(MR Walker)提出關(guān)鍵線路法(Critical Path Method,簡稱 CPM)。它是在網(wǎng)絡(luò)圖的基礎(chǔ)上,通過分析總時差找出控制總工期的關(guān)鍵線路,提供了在一定工期和費(fèi)用條件下獲得工程項(xiàng)目最佳進(jìn)度計(jì)劃的方法。
雙代號網(wǎng)絡(luò)計(jì)劃也稱箭線圖法,它是用箭線表示活動,并在節(jié)點(diǎn)處將活動連接起來表示工作流程的有向有序的網(wǎng)絡(luò)圖形。C語言是一門不需任何運(yùn)行環(huán)境的支持就可以運(yùn)行的高效率通用程序設(shè)計(jì)語言。將C語言應(yīng)用在雙代號網(wǎng)絡(luò)計(jì)劃中能夠?qū)崿F(xiàn)網(wǎng)絡(luò)計(jì)劃優(yōu)化中的費(fèi)用優(yōu)化,也稱之為工期成本優(yōu)化。實(shí)踐表明,人們可以通過增加人數(shù)與設(shè)備的方法來縮減計(jì)劃任務(wù)中每一環(huán)節(jié)的工序持續(xù)時間,但與此同時也增加了項(xiàng)目費(fèi)用成本。因此,怎樣用最少的費(fèi)用成本盡可能縮減工期是管理中不可忽視的問題。為了找到費(fèi)用最低的工期,在初始網(wǎng)絡(luò)計(jì)劃中確定的總工期的基礎(chǔ)上,通過重復(fù)壓縮關(guān)鍵路線上關(guān)鍵工作可以壓縮的時間,比較不同壓縮方案下的工程總成本,以最小原則選出其中的最佳方案。
費(fèi)用優(yōu)化的基本順序是:
(1)按任務(wù)每一工序原有邏輯關(guān)系和持續(xù)時間編制雙代號網(wǎng)絡(luò)計(jì)劃圖,根據(jù)關(guān)鍵線路法找出關(guān)鍵線路并計(jì)算出總工期。
(2)計(jì)算整個雙代號網(wǎng)絡(luò)計(jì)劃各道工序的最大縮短時間以及所需的費(fèi)率。
(3)保證關(guān)鍵工作不被壓縮為非關(guān)鍵工作的條件下,比較不同壓縮方案,尋求費(fèi)用最低時的最佳方案。
(4)通過不斷的選擇比較與壓縮,直到將工期壓縮至最小工期或要求工期。
(5)最后計(jì)算變化的總費(fèi)用。
2 問題示例
某個單項(xiàng)工程,按圖1所示雙代號網(wǎng)絡(luò)計(jì)劃圖組織施工。
原來的計(jì)劃工期是170天,但是在工程進(jìn)行到第75天時發(fā)現(xiàn),工作B才剛開始開工。經(jīng)計(jì)算可發(fā)現(xiàn),工作B屬于關(guān)鍵線路上的關(guān)鍵工作,它滯后15天,業(yè)因此工程的總工期將延長15天。每一個工作相關(guān)的參數(shù)見表1。
如果想通過趕工的方式使工程按照原有工期170天照??⒐ぃ垎栐撛鯓诱{(diào)整雙代號網(wǎng)絡(luò)圖中不同工作的工期,使其耗費(fèi)的費(fèi)用最少又能夠保證在原計(jì)劃的170天內(nèi)將所有工作完成?經(jīng)過調(diào)整后,投入的趕工費(fèi)用總共多少?
3 解題步驟
(1)目前,總工期滯后了15天,關(guān)鍵線路:B-D-H。其中,工作B的趕工費(fèi)率最小,因此對工作B的工期進(jìn)行壓縮。將工作B壓縮5天,共增加費(fèi)用:5×200=1000元,總工期:185-5=180天,關(guān)鍵線路:B-D-H。
(2)在剩下的關(guān)鍵工作D和H中,工作D的趕工費(fèi)率為最小,所以對其的工期進(jìn)行壓縮。為保證B-D-H依然是關(guān)鍵線路,故工作D只能壓縮5天,因此增加費(fèi)用:5×300=1500元,總工期:180-5=175天,關(guān)鍵線路:B-D-H和B-C-F-H兩條。
(3)經(jīng)過調(diào)整后,對剩余未壓縮的關(guān)鍵工作共有三種壓縮方法。(1)同時壓縮工作C和工作D。(2)同時壓縮工作F和工作D。(3)壓縮工作H。其中,方法(1)的趕工費(fèi)率最小,因此對工作C和工作D的工期進(jìn)行壓縮。壓縮工作C的最大可壓縮天數(shù)3天,增加費(fèi)用:3×100+3×300=1200元,總工期:175-3=172天,關(guān)鍵線路:B-D-H和B-C-F-H兩條。
(4)在剩下的壓縮方案中,法(3)的趕工費(fèi)率最小,因此再對工作H的工期進(jìn)行壓縮。工作H壓縮2天,增加費(fèi)用:2×420=840元,總工期:172-2=170天。
(5)經(jīng)過上面的工期計(jì)劃調(diào)整,仍能夠按照原計(jì)劃的170天將單項(xiàng)工程完成。所需投入的趕工費(fèi)為:1000+1500+1200+840=4540元。
4 程序設(shè)計(jì)
4.1 代碼
#include
int Max(int x,int y,int z)
{
int max;
max=x;
if(y>max)
max=y;
if(z>max)
max=z;
return max;
}
void main()
{
int a,b,c,d,e,f,g,h;
int Tmax[10]={75,40,15,55,25,35,20,15};
int Tks[10]={0,5,3,10,5,10,10,5};
int P[10]={200,200,100,300,200,150,120,420};
int Tys[10],Tc,Ps,Pmin=999999999,i=0;
for(a=0;a<=Tks[0];a++)
{
for(b=0;b<=Tks[1];b++)
{
for(c=0;c<=Tks[2];c++)
{
for(d=0;d<=Tks[3];d++)
{
for(e=0;e<=Tks[4];e++)
{
for(f=0;f<=Tks[5];f++)
{
for(g=0;g<=Tks[6];g++)
{
for(h=0;h<=Tks[7];h++)
{
Tc=Tmax[0]-a+Tmax[1]-b+Max((Tmax[2]-c+Tmax[5]-f),(Tmax[3]-d),(Tmax[4]-e+Tmax[6]-g))+Tmax[7]-h;
Ps=a*P[0]+b*P[1]+c*P[2]+d*P[3]+e*P[4]+f*P[5]+g*P[6]+h*P[7];
if(Tc==170&&Ps { Pmin=Ps; Tys[0]=a;Tys[1]=b;Tys[2]=c;Tys[3]=d;Tys[4]=e;Tys[5]=f;Tys[6]=g;Tys[7]=h; } } } } } } } } } printf("Pmin=%d\\n",Pmin); printf("工作 A B C D E F G H \\n縮減天數(shù) "); while(i<8) { printf("%-4d",Tys[i]); i++; } getchar(); } 4.2 結(jié)果 4.3 解析 (1)首先,程序定義了一個能選出最大值的函數(shù)。 (2)其次,分別定義了a-h(壓縮工期)、Tmax(各工作初始工期)、Tks(各工作可壓縮工期)、P(各工作趕工費(fèi)用)、Tys(各工作已壓縮的天數(shù))、Tc(計(jì)算的總工期)、Ps(總趕工費(fèi)用)。并分別賦予其實(shí)際工程中的限制條件。 (3)然后,利用for嵌套循環(huán)語句列舉出所有趕工方案,將滿足最小趕工費(fèi)用即Ps值最小且總工期滿足要求即Tc=170的方案篩選出來。 (4)記錄方案。 (5)輸出結(jié)果。 4.4 軟件論證 采用斑馬·夢龍網(wǎng)絡(luò)計(jì)劃2018軟件進(jìn)行結(jié)果論證圖3所示。 5 結(jié)語 網(wǎng)絡(luò)計(jì)劃技術(shù)的應(yīng)用對工程項(xiàng)目整體的監(jiān)督管理起到十分重要的影響作用。本文將雙代號網(wǎng)絡(luò)計(jì)劃圖與c語言相結(jié)合,通過建立基于網(wǎng)絡(luò)計(jì)劃圖的C語言計(jì)算模型,旨在為雙代號網(wǎng)絡(luò)計(jì)劃優(yōu)化中的費(fèi)用優(yōu)化提供一種算法解決思路。但缺點(diǎn)是在制定網(wǎng)絡(luò)計(jì)劃方案前,要首先進(jìn)行工程項(xiàng)目相關(guān)內(nèi)容的總結(jié)分析,梳理施工方案和各工作之間的邏輯關(guān)系,從而完成網(wǎng)絡(luò)圖的繪制和時間參數(shù)的計(jì)算等,過程比較繁瑣,而且主要適用于邏輯性較強(qiáng)的項(xiàng)目中,對每一階段的工作持續(xù)時間也進(jìn)行了明確的規(guī)定。 參考文獻(xiàn) [1]左守強(qiáng).基于網(wǎng)絡(luò)計(jì)劃技術(shù)的工程項(xiàng)目工期優(yōu)化研究[D].蚌埠:安徽財(cái)經(jīng)大學(xué),2016:1-15. [2]聶增民,聶文婷,唐祥.施工項(xiàng)目“工期—成本”優(yōu)化及案例分析[J].工程經(jīng)濟(jì),2018,28(10):39-40.