Osnovni principi stroškovne optimizacije terminskih planov gradbenih projektov Uroš Klanšek Univerza v Mariboru, Fakulteta za gradbeništvo, Smetanova 17, 2000 Maribor Telefon: +386 2 22 94 378, Telefax: +386 2 25 24 179, E-mail: uros.klansek@uni-mb.si Stroškovna učinkovitost izvedbe projekta predstavlja enega od temeljnih ciljev terminskega planiranja v gradbeništvu. Stroškovno učinkovit terminski plan za gradbeni projekt se običajno določi po opravljeni analizi strukture mrežnega diagrama, časov trajanja aktivnosti, stroškov projekta, potrebnih resursov in s preizkušanjem različnih alternativnih rešitev. Pri tem se izmed ugotovljenih alternativnih rešitev navadno izbere tista različica terminskega plana, s katero je možno doseči najnižje celotne stroške izvedbe gradbenega projekta. Analitični pristop k terminskemu planiranju se v gradbeništvu široko uporablja predvsem zaradi enostavnosti izvedbe in sprejemljivih rezultatov. Po drugi strani je možno doseči bistveno boljše rezultate s stroškovno optimizacijo terminskih planov, ki temelji na pristopu matematičnega programiranja. tako je osnovni namen pričujočega članka približati osnovne principe stroškovne optimizacije terminskih planov širši strokovni javnosti. V članku sta predstavljeni dve osnovni metodi za formulacijo modelov optimizacijskih problemov terminskega planiranja projektov, to sta: metoda puščičnega diagrama in metoda precedenčnega diagrama. za problem stroškovne optimizacije terminskega plana projekta je prikazana formulacija osnovnega optimizacijskega modela po obeh metodah. Na koncu članka je predstavljena uporaba optimizacijskih modelov za stroškovno optimizacijo terminskih planov na primeru gradbenega projekta iz literature. Ključne besede: projektni management, planiranje, stroški, optimizacija, matematično programiranje 1 Uvod Sodobni pristopi k optimizaciji terminskih planov tesno povezujejo tehnike mrežnega planiranja, računalniško modeliranje in optimizacijske algoritme. Temelje mrežnih tehnik planiranja in s tem tudi podlage za poznejši razvoj različnih optimizacijskih pristopov k terminskemu planiranju so v poznih petdesetih letih prejšnjega stoletja postavili raziskovalci Morgan Walker in John Sayer (Walker in Sayer, 1959), ki sta predstavila metodo kritične poti CPM (Critical Path Method) ter Donald Malcolm, John Roseboom, Charles Clark in Willard Fazar (Malcolm idr., 1959), ki so predlagali tehniko ocene in preverjanja programa PERT (Program Evaluation and Review Technique). Nadaljnji razvoj je prinesel vrsto različic omenjenih tehnik mrežnega planiranja kot so npr. LESS (Least Cost Estimating and Scheduling System) Backer (1960); CPPS (Critical Path Planning and Scheduling) Kelley (1961); TOPS (The Operational PERT System) Aerospace Corporation (1961); SCANS (Scheduling and Control by Automated Network System) Fry (1962); RAMPS (Resource Allocation and Multi-Project Scheduling) Moshman in sodelavci (1963). Pri tem je potrebno poudariti, da omenjene različice v splošnem niso vključile korenitih sprememb, temveč le dopolnitve originalnih tehnik CPM in PERT. Optimizacija terminskega plana gradbenega projekta lahko nastopi šele potem, ko so zaključene vse predhodne faze planiranja, to so analiza strukture mrežnega diagrama, časov trajanja aktivnosti, stroškov projekta in potrebnih resursov. V fazi analize strukture terminskega plana se najprej določijo projektne aktivnosti in tehnološki proces njihovega izvajanja. Zatem je potrebno opraviti podrobno analizo časa, stroškov in resursov, ki so potrebni, da se projektne aktivnosti izvedejo. Ena od najpomembnejših nalog pri planiranju gradbenega projekta je določiti časovno trajanje aktivnosti, pri katerem bodo stroški njihove izvedbe najmanjši, tj. normalno trajanje aktivnosti. Za doseganje stroškovne učinkovitosti gradbenega projekta je potrebno opraviti podrobno analizo vseh stroškov, ki so potrebni za njegovo ustrezno izvedbo. Potrebno je določiti tako direktne stroške resursov za izvedbo projektnih aktivnosti kakor tudi indirektne stroške, ki jih mora projekt s svojo realizacijo pokriti. Izvedba vsake projektne aktivnosti pri normalnem času trajanja zahteva neko določeno količino resursov in direktnih stroškov. V splošnem vsako gradbeno podjetje razpolaga z omejenimi kapacitetami lastnih resursov. Za dokončanje projektne aktivnosti v času trajanja, ki je krajši od normalnega, je potrebno angažirati dodatne resurse. Pospeševanje projektnih aktivnosti zaradi omejenih kapacitet lastnih resursov običajno zahteva dodatne stroške za angažiranje kapacitet zunanjih resursov. Pri tem so lahko zunanji resursi ob enakem ali celo manjšem proizvodnem učinku dražji. Čas trajanja gradbenega projekta je določen z vrednostjo kritične poti v njegovem strukturnem mrežnem diagramu. Tako je čas trajanja projekta možno skrajšati le, če pospešimo izvajanje kritičnih aktivnosti, tj., če zmanjšamo vrednost kritične poti. Za skrajšanje časa trajanja izvedbe aktivnosti, ki se nahajajo na kritični poti projekta, je potrebno angažirati dodatne resurse. Projektno aktivnost je možno pospeševati z angažiranjem dodatnih resursov tako dolgo, dokler niso izkoriščeni vsi dostopni resursi in ob tem dosežen minimalni možni čas trajanja aktivnosti. Zaradi maksimalne vključenosti resursov so pri minimalnem času trajanja doseženi tudi maksimalni direktni stroški izvedbe projektne aktivnosti. Po drugi strani se s pospeševanjem izvajanja kritičnih aktivnosti skrajša tudi čas trajanja gradbenega projekta, kar posledično povzroči zmanjšanje indirektnih stroškov. Z vidika celotnih stroškov projekta, ki vključujejo tako direktne stroške za izvedbo aktivnosti kakor tudi indirektne stroške projekta, je smiselno pospeševati tiste kritične aktivnosti, ki povzročijo največje zmanjšanje celotnih stroškov projekta. Prav mini-mizacija celotnih stroškov projekta je eden od najpogosteje uporabljenih kriterijev optimizacije terminskih planov v gradbeništvu. Stroškovno učinkovit terminski plan za gradbeni projekt se v praksi običajno določi po opravljeni analizi strukture mrežnega diagrama, časov trajanja aktivnosti, stroškov projekta, potrebnih resursov in s preizkušanjem različnih alternativnih rešitev. Pri tem se izmed ugotovljenih alternativnih rešitev navadno izbere tista različica terminskega plana, s katero je možno doseči najnižje celotne stroške izvedbe gradbenega projekta. Kljub temu, da je analitični pristop s preizkušanjem zaradi enostavnosti izvedbe in sprejemljivih rezultatov široko prisoten v gradbeni praksi, ima še vedno nekaj slabosti. Prva slabost analitičnega pristopa k minimizaciji celotnih stroškov projekta je ta, da je potrebno preizkusiti več različnih alternativnih rešitev terminskega plana, preden se lahko doseže sprejemljiv stroškovni prihranek. S spreminjanjem časa trajanja kritičnih projektnih aktivnosti se lahko spremenijo tudi kritične poti, tj. nekatere nekritične aktivnosti v mrežnem planu lahko postanejo kritične. Prav tako lahko stroškovna analiza projekta ob spreminjanju resursov in časov trajanja kritičnih aktivnosti postane precej zamudno opravilo, predvsem v primerih obsežnih terminskih planov z velikim številom projektnih aktivnosti. Druga pomembna slabost analitičnega pristopa je, da dolgotrajno preizkušanje različnih alternativnih rešitev za terminski plan še vedno ne zagotavlja, da bodo doseženi zares minimalni možni celotni stroški za izvedbo projekta. Namreč, kvaliteta doseženega rezultata je še vedno odvisna od izkušenosti tistega, ki izvaja analizo in preizkušanje. Prav tako pri obsežnem terminskem planu projekta z analitičnim pristopom običajno ni možno preveriti vseh možnih variant zaradi omejenega časa, ki je na voljo za izvedbo analiz. Na ta način minimizacija stroškov gradbenega projekta s pristopom analize in preizkušanja različnih variant terminskih planov vodi prej v suboptimalne kot pa v resnično optimalne rešitve. Po drugi strani je možno doseči bistveno boljše rezultate s pomočjo stroškovne optimizacije terminskih planov. Za optimizacijo terminskih planov je možno uporabiti različne optimizacijske metode. Številni avtorji so za optimizacijo ter-minskih planov predlagali hevristične metode kot so genetski algoritmi (Feng idr., 1997; Li idr., 1999; Hegazy, 1999; Leu in Yang, 1999; ter Senouci in Eldin, 2004), simulirano ohlajanje (Shtub idr., 1996 in Azaron idr., 2007), tabu iskanje (Gagnon idr., 2002), nevronske mreže (Adeli in Karim, 1997), kolonija mravelj (Xiong in Kuang, 2008) in roji delcev (Yang, 2007). Po drugi strani se za optimizacijo terminskih planov zelo pogosto uporabljajo tudi metode matematičnega programiranja. Na primer, Demeulemeester idr. (1998), Achuthan in Hardjawidjaja (2001), Möhring idr. (2001), Vanhoucke idr. (2002), Sakellaropoulos in Chassiakos (2004) so optimirali terminske plane z različnimi metodami linearnega programiranja. Sodobne metode za reševanje linearnih optimizacijskih problemov terminskega planiranja vključujejo tako zvezne kakor tudi diskretne spremenljivke. Pri nelinearnih optimizacijskih problemih terminskega planiranja avtorji pogosto predlagajo uporabo različnih metod nelinearnega programiranja, glej npr. Deckro et al. (1995), Deckro and Hebert (2002), and Turnquist and Nozick (2004), Klanšek in Pšunder (2010). Tako je osnovni namen pričujočega članka približati osnovne principe stroškovne optimizacije terminskih planov širši strokovni javnosti. V nadaljevanju članka sta predstavljeni dve osnovni metodi za formulacijo modelov optimizacijskih problemov terminskega planiranja projektov, to sta: metoda puščičnega diagrama in metoda precedenčnega diagrama. Za problem stroškovne optimizacije terminskega plana projekta je prikazana formulacija osnovnega optimizacijskega modela po obeh metodah. Na koncu članka je predstavljena uporaba optimizacijskih modelov za stroškovno optimizacijo terminskih planov na primeru gradbenega projekta iz literature. 2 Modelna formulacija po metodi puščičnega diagrama Pri oblikovanju optimizacijskega modela za problem stroškovne optimizacije terminskega planiranja po metodi puščičnega diagrama se projektne aktivnosti in njihov vrstni red formulirajo po pristopu ,'aktivnost na puščico", ANP (Activity on Arrow, AOA). Za formulacijo projektne aktivnosti po pristopu ANP se uporabita dva indeksa. Prvi indeks predstavlja začetni dogodek obravnavane projektne aktivnosti, drugi indeks pa začetni dogodek vseh njenih neposredno sledečih aktivnosti. Usmerjena povezava med indeksoma določa tehnološko povezanost med obravnavano projektno aktivnostjo in njenimi neposredno sledečimi aktivnostmi ter definira njeno trajanje. Pri klasičnih mrežnih tehnikah planiranja se pristop ANP uporablja za konstruiranje puščičnih strukturnih mrežnih diagramov. Osnovni model za stroškovno optimizacijo terminskih planov, ki temelji na pristopu ANP, se lahko zapiše v sledeči obliki: min 5p= V + 5;(7-p) iWEA PP- Zi + Tij-ZjTMtj i BI, jem. Zi> O iS I Tp0 kjer so: A množica: projektne aktivnosti in odvisnosti med aktivnostmi (navidezne aktivnosti), I množica: začetni dogodki obravnavanih projektnih aktivnosti, i indeks: začetni dogodek obravnavane projektne aktivnosti, i e I, J(i) množica: začetni dogodki neposredno sledečih projektnih aktivnosti, j indeks: začetni dogodek neposredno sledeče projektne aktivnosti, j e /(i), SVij spremenljivka: direktni stroški za izvedbo projektne aktivnosti, Si spremenljivka: indirektni stroški za izvedbo projekta, Sp namenska funkcija: celotni stroški za izvedbo projekta, Tij spremenljivka: čas trajanja projektne aktivnosti, TMi,j konstanta: minimalni čas trajanja projektne aktivnosti, TNi,j konstanta: normalni čas trajanja projektne aktivnosti, Tp spremenljivka: čas trajanja projekta, Tr konstanta: rok za dokončanje projekta, Zi spremenljivka: čas začetka izvajanja projektne aktivnosti, a simbol: prva projektna aktivnost. Namenska funkcija celotnih stroškov projekta Sp zgoraj predstavljenega modela za stroškovno optimiranje terminskih planov vsebuje direktne stroške za izvedbo vseh projektnih aktivnosti, tj. in indirektne stroške projek- ta, tj. Si(Jp). Direktni stroški vsebujejo stroške resursov, ki jih moramo angažirati za izvedbo projektnih aktivnosti, npr. stroški delovne sile, mehanizacije, opreme ipd. Odvisnost direktnih stroškov od časa trajanja projektne aktivnosti se znotraj optimizacijskega modela definira s pomočjo funkcijskih zapisov SDij{Tij). Na tem mestu je potrebno poudariti, da optimizacijski modeli, ki temeljijo na pristopu ANP, podobno kot puščični mrežni diagrami, pogostokrat vsebujejo tudi povezave med indeksi i in j, ki ne definirajo projektne aktivnosti, ampak služijo le za formulacijo odvisnosti med aktivnostmi. Takšne povezave med aktivnostmi pri puščičnih mrežnih diagramih se običajno predstavijo s črtkano puščico, v literaturi pa jih pogosto imenujejo tudi navidezne aktivnosti (angl. Dummy Activities). Iz formulacije zgoraj predstavljenega optimiza-cijskega modela je razvidno, da množica poleg projektnih aktivnosti vsebuje tudi navidezne aktivnosti. Ker navidezne aktivnosti, tj. odvisnosti med aktivnostmi, ne povzročajo direktnih stroškov, je potrebno za takšne povezave (i, j) med aktivnostmi v optimizacijskem modelu definirati, da so njihovi direktni stroški enaki nič, tj. SDijijij) = 0. Indirektni stroški gradbenega projekta Si(Jp) običajno vključujejo režijske stroške gradbišča in izvajalskega gradbenega podjetja, ki jih mora pokriti realizacija projekta. Indirektni stroški se v gradbeništvu običajno določijo z letnimi plani oziroma gospodarskimi načrti. Pri planiranju se navadno določi dnevni indirektni strošek, ki ga mora projekt pokriti za vsak dan trajanja gradnje. Na ta način so indirektni stroški projekta odvisni od dolžine časa trajanja projekta. Omenjeno odvisnost znotraj optimizacijskega modela definiramo s pomočjo funkcijskega zapisa Si(Tp). S pomočjo pogojnih neenačb Zj + Ty -Zj < O se v modelni formulaciji definirajo normalne časovne povezave med obravnavanimi projektnimi aktivnostmi in njihovimi neposredno sledečimi aktivnostmi. Povezava med obravnavano aktivnostjo in njenimi neposredno sledečimi aktivnostmi je določena z začetnim dogodkom obravnavane aktivnosti i, i E I , in začetnim dogodkom njenih neposredno sledečih aktivnosti j, j S J. Omenjene neenačbe zagotavljajo, da mora biti vsaka obravnavana projektna aktivnost popolnoma končana, preden se lahko začnejo njene neposredno sledeče projektne aktivnosti. Ker navidezne aktivnosti, ki definirajo le odvisnosti med projektnimi aktivnostmi, nimajo čas trajanja, je potrebno v optimizacijskem modelu definirati, da so časi trajanja teh aktivnosti enaki nič, tj. Tij = 0. Množica pogojnih neenačb Z^ + - Z^^ < Tp zagotavlja, da bodo vse projektne aktivnosti zaključene v času trajanja projekta, tj. med začetkom prve projektne aktivnosti ia,m e /, in koncem zadnje projektne aktivnosti. Pogojne neenačbe Ti j < Tni j in Ti j> Tnij omogočajo, da se optimalni čas trajanja za vsako obravnavano aktivnost izračuna med njenim normalnim časom trajanja in minimalnim možnim časom trajanja. Pogojna neenačba Tp < Tr zagotavlja, da bo optimalno planiranje aktivnosti izvedeno tako, da bo projekt lahko izveden znotraj definiranega roka za dokončanje. S pogojnimi neenačbami Zi>0 in Tp>0 se zagotovi, da bodo izračunane optimalne vrednosti odločitvenih spremenljivk Zi in Tp pozitivne. 3 Modelna formulacija po metodi precedenčnega diagrama Za oblikovanje modelov optimizacijskih problemov termin-skega planiranja po metodi precedenčnega diagrama se pri formulaciji projektnih aktivnosti in njihovega vrstnega reda uporablja pristop ,"aktivnost na vozlišče", ANV (Activity on Node, AON). Pri formulaciji optimizacijskega modela po pristopu ANV se z enim indeksom hkrati definira čas začetka in trajanje projektne aktivnosti, z usmerjeno povezavo med dvema indeksoma pa se določi tehnološka povezanost med obravnavano aktivnostjo in njeno neposredno sledečo aktivnostjo. Pristop ANP se pri klasičnem mrežnem planiranju uporablja za konstruiranje precedenčnih strukturnih mrežnih diagramov. Osnovni model za problem stroškovne optimizacije ter-minskih planov, ki temelji na pristopu ANV, se lahko formulira na sledeči način: min 5p = ^ (Tj) + Si(Tp) iei p.p. Zi + Ti-Zj<0 iei, jem Zi+Ti- Zia TMi iS I Zi> O iei Tp < Tr Tp>0 kjer so: I množica: obravnavane projektne aktivnosti, i indeks: obravnavana projektna aktivnost, i e I, I množica: neposredno sledeče projektne aktivnosti, J(i) indeks: neposredno sledeča projektna aktivnost, j e /(i), SDi spremenljivka: direktni stroški za izvedbo projektne aktivnosti, Si spremenljivka: indirektni stroški za izvedbo projekta, Sp namenska funkcija: celotni stroški za izvedbo projekta, Ti spremenljivka: čas trajanja projektne aktivnosti, TMi konstanta: minimalni čas trajanja projektne aktivnosti, TNi konstanta: normalni čas trajanja projektne aktivnosti, Tp spremenljivka: čas trajanja projekta, Tr konstanta: rok za dokončanje projekta, Zi spremenljivka: čas začetka izvajanja projektne aktivnosti, a simbol: prva projektna aktivnost. Podobno kot pri modelu za optimiranje terminskih planov, ki temelji na pristopu ANP, tudi pri zgoraj predstavljenem modelu, ki temelji na pristopu ANV, se namenska funkcija celotnih stroškov projekta Sp formulira tako, da le-ta vsebuje direktne stroške za izvedbo vseh aktivnosti, tj. in indirektne stroške projekta, tj. Si(Tp). Odvisnost direktnih stroškov od časa trajanja aktivnosti se definira s pomočjo funkcijskih zapisov SoiiTi), odvisnost indirektnih stroškov od dolžine trajanja projekta pa s funkcijskim zapisom SiiTp). Za razliko od optimizacijskega modela, ki temelji na pristopu ANP, zgoraj predstavljeni model, ki temelji na pristopu ANV, ne vsebuje navideznih aktivnosti. Vrstni red projektnih aktivnosti je definiran z usmerjenimi povezavami med indeksi obravnavanih aktivnosti in indeksi neposredno sledečih aktivnosti. Na ta način so s pomočjo množice pogojnih neenačb Zi + Ti- Z j < O določene normalne časovne povezave med obravnavanimi projektnimi aktivnostmi i, tel, in njihovimi neposredno sledečimi aktivnostmi j, j e /(i). S pomočjo omenjenih neenačb se zagotovi, da bo vsaka obravnavana aktivnost i, i e I, popolnoma zaključena, preden se bo lahko začela njena neposredno sledeča aktivnost, j, j e /(i). Pogojne neenačbe Zi + Ti- Zi^ < Tp omogočajo, da bodo vse aktivnosti zaključene znotraj časa trajanja projek- ta, tj. med začetkom prve aktivnosti ia, ia e /, in koncem zadnje aktivnosti. Podobno kot pri modelu, ki temelji na pristopu ANP, se tudi pri modelu, ki temelji na pristopu ANV, s pogojnimi neenačbami Ti < Tni in Ti> Tui zagotovi, da bo optimalni čas trajanja za vsako obravnavano aktivnost izračunan med njenim normalnim časom trajanja in minimalnim možnim časom trajanja. Prav tako s pogojno neenačbo Tp < Tr zagotovimo, da bo projekt zaključen znotraj definiranega roka za dokončanje. Pogojne neenačbe Z( > O in Tp>0 definirajo pozitivne optimalne vrednosti odločitvenih spremenljivk Zi in Tp. 4 Računalniško modeliranje in reševanje optimizacijskega problema Za računalniško modeliranje in reševanje optimizacijskih problemov terminskega planiranja ima uporabnik na voljo številno komercialno dostopno programsko opremo. Za modeliranje kombinatoričnih optimizacijskih problemov matematičnega programiranja je priporočljivo uporabiti algebrajske modelirne jezike, kot so npr. AIMMS (Bisschop in Roelofs, 2011), AMPL (Fourer idr., 2003), GAMS (Brooke idr., 2011), LINGO (Lindo Systems Inc., 2011a), idr. Sintaksa algebraj-skih modelirnih jezikov je fleksibilna in omogoča, da se lahko s pomočjo indeksiranja tudi obsežni optimizacijski modeli zapišejo v kompaktni obliki. Pri modeliranju optimizacijskih problemov terminskega planiranja je možno uporabiti tudi različne interaktivne računalniške jezike, izmed katerih lahko izpostavimo programska paketa Mathematica (Wolfram, 2003) in Matlab (The MathWorks, 2011), ki se najpogosteje uporabljata. Med uporabniki so zelo priljubljeno orodje za modeliranje optimizacijskih problemov tudi modelirne preglednice. Eden izmed najpogosteje uporabljenih programov za modeliranje optimizacijskih problemov s pomočjo preglednic je Microsoftov paket Excel z enim od dodatkov za optimizacijo, kot so npr. Solver (Frontline Systems Inc., 2011), Evolver (Palisade Corporation, 2010) ali What'sBest (Lindo Systems Inc., 2011b). Modelirne preglednice so uporabno orodje predvsem za modeliranje manj do srednje obsežnih optimizacijskih problemov, ki vsebujejo zmerno število parametrov, ki jih je potrebno vstaviti v preglednico. Potrebno je poudariti, da reševanje problemov optimizacije terminskih planov z mode-lirnimi preglednicami lahko postane zamudno, ker je potrebno opraviti modeliranje mrežnega modela projekta in nato še model optimizacijskega problema. Ob najmanjši spremembi v strukturi plana je potrebno ponovno remodelirati oba modela. Problem stroškovne optimizacije terminskih planov je možno učinkovito rešiti s pomočjo metod matematičnega programiranja. Ponudniki komercialnih programskih paketov za modeliranje običajno navedejo tudi optimizacijske algoritme za reševanje problemov matematičnega programiranja, ki jih podpira njihov modelirnik. Izbor ustreznega algoritma za reševanje posameznega optimizacijskega problema terminskega planiranja se opravi glede na obsežnost, zveznost/diskretnost in (ne)linearnost njegovega modela. Reševanje optimizacijskega problema terminskega planiranja je možno opraviti tudi preko svetovnega spleta. Eden od Organizacija, letnik 44 Predlog za prakso številka 5, september-oktober 2011 Tabela 1: Projektne aktivnosti in prikaz neposrednih predhodnih aktivnosti Aktivnost Opis aktivnosti Predhodne aktivnosti A Zemeljska dela - B Betoniranje temeljev A C Zidanje zidov B D Gradnja strehe C E Vgradnja zunanjih strojnih inštalacij C F Vgradnja notranjih strojnih inštalacij E G Fasaderska dela D H Barvanje zunanjih površin objekta E, G I Vgradnja električnih inštalacij C J Obdelava notranjih sten in stropov F, I K Obdelava podov J L Barvanje notranjih površin objekta J M Vgradnja zunanje opreme H N Vgradnja notranje opreme K, L možnih načinov je uporaba odprtih programov, ki se nahajajo na strežniku NEOS (2011). Na omenjenem strežniku je možno zaslediti številne povezave do komercialnih optimizacijskih programov, priročnike za njihovo uporabo, rezultate testov in raziskav na področju optimizacije, različne publikacije ipd. 5 Primer Za boljše razumevanje uporabnosti pristopov ANP in ANV pri formulaciji optimizacijskih modelov ter reševanju optimizacijskih problemov terminskega planiranja je prikazan nekoliko spremenjen primer iz reference Hillier in Lieberman (2010), ki obravnava problem stroškovne optimizacije generalnega terminskega plana za projekt gradnje objekta. V tabeli 1 so predstavljene aktivnosti gradbenega projekta s prikazom neposrednih predhodnih aktivnosti. Za obravnavani gradbeni projekt je izvedena podrobna analiza stroškov, resursov in časov trajanja projektnih aktivnosti. Pri tem so za vsako projektno aktivnost določeni normalni čas trajanja in pripadajoči direktni stroški. Na podlagi ugotovljenih dostopnih resursov je za vsako projektno aktivnost določen tudi njen minimalni možni čas trajanja, ki ga je možno doseči, če se za njeno izvedbo angažirajo vsi dostopni resursi. Hkrati so za vsako projektno aktivnost ugotovljeni tudi Tabela 2: Trajanje in direktni stroški projektnih aktivnosti Aktivnost / Opis aktivnosti Min. Trajanje [teden] Dir. stroški [€] Normal. Maks. Normal. ■ Funkcija A Zemeljska dela 1 2 280000 180000 (380 - 100 ) X 103 B Betoniranje temeljev 2 4 420000 320000 (520 - 50 ) X 103 C Zidanje zidov 7 10 860000 620000 (1420 - 80 ) X 103 D Gradnja strehe 4 6 340000 260000 (500 - 40 ) X 103 E Vgradnja zunanjih strojnih inštalacij 3 4 570000 410000 (1050 - 160 ) X 103 F Vgradnja notranjih strojnih inštalacij 3 5 260000 180000 (380 - 40 ) X 103 G Fasaderska dela 4 7 1020000 900000 (1180 - 40 ) X 103 H Barvanje zunanjih površin objekta 6 9 380000 200000 (740 - 60 ) X 103 I Vgradnja električnih inštalacij 5 7 270000 210000 (420 - 30 ) X 103 J Obdelava notranjih sten in stropov 6 8 490000 430000 (670 - 30 ) X 103 K Obdelava podov 3 4 200000 160000 (320 - 40 ) X 103 L Barvanje notranjih površin objekta 3 5 350000 250000 (500 - 50 ) X 103 M Vgradnja zunanje opreme 1 2 200000 100000 (300 - 100 ) X 103 N Vgradnja notranje opreme 3 6 510000 330000 (690 - 60 ) X 103 Slika 1: Puščični strukturni mrežni diagram za primer gradbenega projekta maksimalni direktni stroški, ki nastanejo ob njeni izvedbi pri minimalnem času trajanja. Po opravljeni analizi se je izkazalo, da ob angažiranju dodatnih resursov direktni stroški izvedbe projektnih aktivnosti naraščajo približno premosorazmerno s skrajševanjem njihovega časa trajanja. Na ta način je za vsako projektno aktivnost določena linearna aproksimacijska funkcija odvisnosti direktnih stroškov od časa trajanja aktivnosti, glej tabelo 2. Na koncu analize stroškov je ocenjeno, da indirek-tni stroški gradbenega projekta znašajo 31000 € na teden. Optimizacijski problem je določiti generalni terminski plan za projekt gradnje objekta, pri katerem bodo celotni stroški izvedbe projekta minimalni. V nadaljevanju je za zgoraj opredeljeni optimizacijski problem terminskega planiranja najprej formuliran optimiza- cijski model s pristopom ANP. Zatem je za isti optimizacijski problem terminskega planiranja predstavljena formulacija optimizacijskega modela, ki temelji na pristopu ANV. Na koncu primera je prikazana optimalna rešitev obravnavanega problema terminskega planiranja. Za boljšo predstavitev pristopa ANP in povezav med projektnimi aktivnostmi je na sliki 1 predstavljen puščični strukturni mrežni diagram, ki je bil skonstruiran na osnovi tabele aktivnosti za projekt gradnje novega objekta, glej tabelo 1. Za obravnavani problem stroškovne optimizacije generalnega terminskega plana gradnje novega objekta se lahko ob upoštevanju označb, ki so prikazane v puščičnem strukturnem mrežnem diagramu na sliki 1, formulira optimizacijski model s pomočjo pristopa ANP na naslednji način: Stroškovna namenska funkcija: min5p = (9070 -10^_2 -5^,3-8^,4 -4^ 7-4^^8 -6^,10 -3^,7 p.p. Pogojne neenačbe normalnih časovnih povezav med projektnimi aktivnostmi: ^10 + ^10.13 ~ ^13 ^ O + Ti,2 -Z2<0 Z4 + 74,6 - Zg < o Z4 + 74,7 - Z7 < o Z2+r2,3-Z3<0 Z6+r6,7-Z7<0 Z7+r7,9-Z9<0 Z3+r3,4-Z4<0 Z5+r5,8-Z8<0 Zg+Tg_i2-Zi2<0Z6+T6,8-ZB<0 Z4 + 74,5 -Zs^O Zg+ 7-8,10 - Zio < O Z9 + 7-9,11 - Zli < O ^ii + ^11,12 - Z12 < O ' 10,13 ^12 + 7-12,13 - .^13 < o Pogojne neenačbe dokončanja projektnih aktivnosti: Zio + ^10,13 -Z-i_ 1 7-2,3 > 2 7-3.4 > 7 7-4,5 > 4 7-4,6 > 3 7-6,7 > 3 7-5,8 > 4 7-8,10 ^ 6 7-4,7 > 5 7-7,9 ^ 6 7-9,12 > 3 7-9,11 > 3 '10,13 7-12,13 > 1 > 3 Pogojne neenačbe pozitivnih vrednosti časa začetka izvajanja projektnih aktivnosti: Zi >0 Z2>0 Z3 > o Z4 > o Z5 > o Z6>0 Z7 > o Ze>0 Zg > O Zio >0 Zii>0 Z12 > O Zi3 > o Pogojna neenačba roka za dokončanje projekta: Tp<47 Pogojna neenačba pozitivne vrednosti časa trajanja projekta: TP>0 Zgoraj predstavljeni model za stroškovno optimizacijo generalnega terminskega plana, ki temelji na pristopu ANP vsebuje namensko funkcijo, 61 pogojnih neenačb, 2 pogojni enačbi, 30 odločitvenih spremenljivk (spremenljivke Zi, Ti in Tp) ter spremenljivko namenske funkcije (spremenljivka Sp). Pri tem sta odločitveni spremenljivki in fiksirani na vrednost nič. V nadaljevanju je za isti problem stroškovne optimizacije generalnega terminskega plana gradnje objekta formuliran optimi-zacijski model s pristopom ANV. Slika 2 prikazuje precedenčni strukturni mrežni diagram, ki je bil skonstruiran na osnovi tabele aktivnosti za obravnavani gradbeni projekt, glej tabelo 1. Slika 2: Precedenčni strukturni mrežni diagram za primer gradbenega projekta S pomočjo pristopa ANV lahko zapišemo celotno formulacijo modela za obravnavani problem stroškovne optimizacije generalnega terminskega plana gradbenega projekta na sledeči način: Stroškovna namenska funkcija: min S p = (9070 - 100 T^ - 50 Tg - 80 Tc - 40 To60 T^ - 40 7> - 40 Tg- 60 T„ - 30 Tj -30 r;-40r^-50rt-100 7-^-60 7V,+31 Tp)x^O^ p.p. Pogojne neenačbe normalnih časovnih povezav med projektnimi aktivnostmi: Za+TA-ZB<0 Zb + TB-ZC<0 Zc + Tc-Zj)<0 Zc + TC-ZE<0 Zc + Tc-Z, <0 Zd+TD-Z(;<0 Ze + TS-ZP<0 Ze + TE-Z„2 Tc>l Td >4 Te >3 Tp > 3 To >4 Tu >6 T, >5 Tj >6 Tk>3 Tt >3 rM>l T^>3 Pogojne neenačbe pozitivnih vrednosti časa začetka izvajanja projektnih aktivnosti: Za>0 Zb>0 Zc>0 Zo>0 Ze>0 Zp>0 Za>0 Zh>0 Z,>0 Zj>0 Zk>0 Zl>0 Zm>0 Zn>0 Pogojna neenačba roka za dokončanje projekta: Tp<47 Pogojna neenačba pozitivne vrednosti časa trajanja projekta: TP>0 S pregledom zgoraj predstavljene formulacije modela za stroškovno optimizacijo terminskega plana, ki temelji na pristopu ANV, je mogoče ugotoviti, da obravnavani model vsebuje namensko funkcijo, 62 pogojnih neenačb, 29 odločitvenih spremenljivk (spremenljivke , in) ter spremenljivko namenske funkcije (spremenljivka ). Iz namenskih funkcij in pogojnih (ne)enačb je razvidno, da oba predstavljena optimizacijska modela opisujeta optimi-zacijski problem, ki vsebuje samo linearne funkcije odločitvenih spremenljivk. Zaradi tega je možno pri obeh optimiza-cijskih modelih za reševanje obravnavanega optimizacijskega problema terminskega planiranja uporabiti metodo linearnega programiranja (LP). Računalniško modeliranje obeh optimizacijskih modelov je opravljeno s pomočjo algebrajskega modelirnega jezika GAMS (General Algebraic Modelling System) (Brooke idr., 2011), za optimizacijo pa je uporabljen programski paket CPLEX (IBM Corp., 2009). Pri optimizaciji terminskega plana z uporabo obeh predstavljenih optimizacijskih modelov in optimizacijskega algoritma CPLEX je bila izračunana povsem enaka optimalna rešitev. V tabeli 3 je predstavljena izračunana optimalna rešitev obravnavanega problema stroškovne optimizacije generalnega terminskega plana za projekt gradnje objekta. Optimalna rešitev je bila pridobljena pod predpostavko, da se izvedba gradbenega projekta prične v prvem delovnem tednu. Na sliki 3 je prikazan tudi gantogram za izračunani optimalni terminski plan obravnavanega gradbenega projekta. Optimalna rešitev za generalni terminski plan projekta gradnje objekta je izračunana pri minimalnih celotnih stroških projekta, ki znašajo 5912000 €. Pri tem minimalni celotni stroški projekta vsebujejo 4610000 € direktnih stroškov za izvedbo projektnih aktivnosti in 1302000 € indirektnih stroškov projekta. Optimalni čas trajanja projekta znaša 42 tednov. Z analizo optimalne rešitve je možno ugotoviti, da je optimalni čas trajanja pri večini aktivnostih enak njihovemu normalnemu času trajanja. Le pri projektni aktivnosti J, tj. aktivnost obdelave notranjih sten in stropov, je bil izračunani optimalni čas trajanja krajši od normalnega. Vzrok za takšen rezultat se lahko razloži s pomočjo analize zmanjšanja celotnih stroškov projekta, ki ga povzroči skrajšani čas trajanja aktivnosti J. Že na začetku analize rezultata je potrebno poudariti, da projektna aktivnost J predstavlja eno od kritičnih aktivnosti v strukturnem mrežnem diagramu obravnavanega projekta. S pregledom vhodnih podatkov, ki so podani v tabeli 2, lahko ugotovimo, da skrajševanje časa trajanja kritične aktivnosti J z normalnih 8 tednov na 6 tednov povzroči povečanje direktnih stroškov od 430000 € na 490000, tj. Organizacija, letnik 44 Predlog za prakso številka 5, september-oktober 2011 Tabela 3: Optimalna rešitev za generalni terminski plan projekta gradnje objekta Aktivnost / Opis aktivnosti Začetek [teden] Trajanje [tednov] Direktni stroški [€] A Zemeljska dela 1 2 180000 B Betoniranje temeljev 3 4 320000 C Zidanje zidov 7 10 620000 D Gradnja strehe 17 6 260000 E Vgradnja zunanjih strojnih inštalacij 17 4 410000 F Vgradnja notranjih strojnih inštalacij 21 5 180000 G Fasaderska dela 23 7 900000 H Barvanje zunanjih površin objekta 30 9 200000 I Vgradnja električnih inštalacij 17 7 210000 J Obdelava notranjih sten in stropov 26 6 490000 K Obdelava podov 32 4 160000 L Barvanje notranjih površin objekta 32 5 250000 M Vgradnja zunanje opreme 39 2 100000 N Vgradnja notranje opreme 37 6 330000 Trajanje projekta: 42 tednov Indirektni stroški projekta: Celotni stroški projekta: 1302000 5912000 Slika 3: Gantogram za optimalni generalni terminski plan projekta gradnje objekta dodatnih 60000 €. Zaradi skrajšanja časa trajanja kritične projektne aktivnosti J za dva tedna, se je za enak čas skrajšal tudi čas trajanja celotnega projekta. S tem je bil dosežen prihranek 62000 € pri indirektnih stroških projekta, kar je za 2000 € več kot znaša prirastek direktnih stroškov na projektni aktivnosti J zaradi skrajšanja časa njenega trajanja za dva tedna. V obravnavanem primeru se je izkazalo, da rešitev, ki vsebuje krajši čas trajanja kritične aktivnosti in s tem tudi krajši čas trajanja projekta, kljub posledično višjim direktnim stroškom, zaradi zmanjšanja indirektnih stroškov doseže večji prihranek pri celotnih stroških projekta od alternativne rešitve, ki bi za to kritično aktivnost predvidevala normalni čas trajanja in s tem tudi daljši čas trajanja projekta. Na ta način se lahko ugotovi, da je s pospeševanjem posameznih kritičnih aktivnosti možno, kljub ustreznem povečanju direktnih stroškov, doseči zmanjšanje celotnih stroškov projekta na račun prihrankov pri indirektnih stroških projekta. 6 Sklep Stroškovna optimizacija terminskih planov s pomočjo metod matematičnega programiranja se lahko v številnih primerih izkaže kot bistveno boljše orodje za učinkovito terminsko planiranje gradbenih projektov kot pa klasične tehnike mrežnega planiranja. Z uporabo optimizacije pri terminskem planiranju projektov se lahko v primerjavi s klasičnim pristopom analize in preizkušanja pride do stroškovno učinkovitejšega terminskega plana v krajšem času. Prednosti optimizacijskega pristopa k terminskem planiranju se še posebej pokažejo pri planiranju obsežnih gradbenih projektov z velikim številom aktivnosti. V članku sta bili predstavljeni dve osnovni metodi za formulacijo modelov optimizacijskih problemov terminskega planiranja projektov, to sta: metoda puščičnega diagrama in metoda precedenčnega diagrama. Za problem stroškovne optimizacije terminskega plana projekta je bila prikazana formulacija osnovnega optimizacijskega modela po obeh metodah. Na koncu članka je bila predstavljena uporaba optimizacijskih modelov za stroškovno optimizacijo terminskih planov na primeru gradbenega projekta iz literature. Na podlagi medsebojne primerjave optimizacijskih modelov je možno ugotoviti, da modelna formulacija, ki je temelji na metodi precedenčnih diagramov (pristop ,'aktivnost na vozlišče", ANV), lahko opiše enak problem optimizacije terminskega plana z manj pogojnih (ne)enačb in odločitvenih spremenljivk kot modelna formulacija, ki je temelji na metodi puščičnih diagramov (pristop ,'aktivnost na puščico", ANP). Glavni vzrok za to so t.i. navidezne aktivnosti, ki jih je potrebno vključiti v model, ko želimo optimizacijski problem terminskega planiranja formulirati s pomočjo pristopa ANP. Zaradi tega se lahko s pomočjo pristopa ANV, v primerjavi s pristopom ANP, doseže za enak optimizacijski problem ter-minskega planiranja manj obsežna modelna formulacija. Prav tako je potrebno poudariti, da je pristop ANP v primerjavi s pristopom ANV za praktično planiranje v gradbeništvu manj uporaben, ker ne omogoča enostavnega modeliranja vzporednega izvajanja projektnih aktivnosti. Osnovni namen pričujočega članka je bil približati osnovne principe stroškovne optimizacije terminskih planov širši strokovni javnosti. Zaradi tega so bili optimizacijski modeli za stroškovno optimizacijo terminskih planov predstavljeni v osnovni obliki, na koncu članka pa je bil predstavljen enostaven računski primer, ki ga je možno ponoviti. Na ta način je možno razumeti osnovne principe stroškovne optimizacije terminskih planov in ugotoviti potencial takšnega pristopa za uporabo v praksi. Predstavljeni optimizacijski modeli se lahko v gradbeništvu koristno uporabijo predvsem pri generalnem terminskem planiranju projektov. Če gradbena pogodba predvideva pogodbene kazni ali pa bonuse je te potrebno zajeti v optimizacijski model že pri generalnem terminskem planiranju. Pri detajlnem operativnem terminskem planiranju izvedbe gradbenega projekta je potrebno v optimizacijski model vključiti še dodatne elemente, kot so npr. posplošene časovne povezave med aktivnostmi, časovne prekinitve (delovne, tehnološke, objektne ali organizacijske narave), omejitve resursov idr. 7 Literatura Achuthan, N. R. & Hardjawidjaja, A. (2001). Project Scheduling Under Time Dependent Costs - A Branch and Bound algorithm, Annals of Operations Research, 108: 55-74. Adeli, H. & Karim, A. (1997). Scheduling/Cost Optimization and Neural Dynamics Model for Construction, Journal of Construction Engineering and Management, 123(4): 450-458. Aerospace Corporation (1961). The Operational PERT System, Report: TDR-930(2408)-TR-1. Azaron, A., Sakawa, M., Tavakkoli-Moghaddam, R. & Safaei, N. (2007). A Discrete-Time Approximation Technique for the Time-Cost Trade-Off in PERT Networks, RAIRO Operations Research, 41(1): 61-81. Backer, F. (1960). A Discussion of Problem Involved in LESS (Least Cost Estimating and Scheduling), IBM Applied Science, Dallas, Texas. Bisschop, J. & Roelofs, M. (2011). AIMMS: The Language Reference, Paragon Decision Technology BV, Haarlem. Brooke, A., Kendrick, D., Meeraus, A. & Raman, R. (2011). GAMS -A User's Guide, GAMS Development Corporation, Washington. Deckro, R. F. Hebert, J. E. Verdini, W. A., Grimsrud, P. E. & Venkateshwar, S. (1995). Nonlinear Time/Cost Trade-Off Models in Project Management, Computers and Industrial Engineering, 28(2): 219-229. Deckro, R. F. & Hebert, J. E. (2002). Modeling Diminishing Returns in Project Resource Planning, Computers and Industrial Engineering, 44(1): 19-33. Demeulemeester, E., De Reyck, B., Foubert, B., Herroelen, W. & Vanhoucke, M.. (1998). New Computational Results on the Discrete Time/Cost Trade-Off Problem in Project Networks, Journal of the Operational Research Society, 49(11): 11531163. Feng, C. W., Liu, L. & Burns, S. A. (1997). Using Genetic Algorithms to Solve Construction Time-Cost Trade-Off Problems, Journal of Computing in Civil Engineering, 11(3): 184-189. Fourer, R., Gay, D. M. & Kermighan, B. W. (2003). A Modelling Language for Mathematical Programming,Thompson/Brooks/ Cole cop., Pacific Grove. Frontline Systems Inc. (2011). Frontline Solvers V11.0 User Guide. Fry, B.L. (1962). SCANS - System Description and Comparison with PERT, IRE Transactions on Engineering Management, 9(3): 122-129. Gagnon, M., D'Avignon, G. & Boctor, F. (2002). Minimisation of Availability Cost for Project Resources Under Time Constraint by Adaptation of Tabu Search Method, INFOR, 40(3): 277-304. Hegazy, T. (1999). Optimization of Construction Time-Cost TradeOff Analysis Using Genetic Algorithms, Canadian Journal of Civil Engineering, 26(6): 685-697. Hillier, F.S. & Lieberman, G.J. (2010). Introduction to Operations Research, 9th Edition. McGraw-Hill, Boston. IBM Corp. (2009). IBM ILOG CPLEX V12.1: User's Manual for CPLEX. Kelley, J. (1961). Critical Path Planning and Scheduling: Mathematical Basis, Operations Research, 9(3): 296-320. Klanšek, U. & Pšunder, M. (2010). Cost Optimization of Time Schedules for Project Management, Ekonomska Istraživanja, 23(4): 22-36. Leu, S. S. & Yang, C. H. (1999). GA-based Multicriteria Optimal Model for Construction Scheduling, Journal of Construction Engineering and Management, 125(6): 420-427. Li, H., Cao, J. N. & Love, P. E. D. (1999). Using Machine Learning and Genetic Algorithms to Solve Time-Cost Trade-Off Problems, Journal of Construction Engineering and Management, 125(5): 347-353. Lindo Systems Inc. (2011a). LINGO User's Guide. Lindo Systems Inc. (2011b). What'sBest Version 11.0 User's Manual. Malcolm, D.G., Roseboom, J.H., Clark, C.E. & Fazar, W. (1959). Applications of a Technique for Research and Development Program Evaluation, Operations Research, 7(5): 646-669. Moshman, J., Johnson, J. & Larson, M. (1963). RAMPS - A Technique for Resource Allocation and Multi-Project Scheduling, Proceedings of the Spring Joint Computer Conference 1963, Baltimore: Spartan Books, Inc. 17-27. Möhring, R. H., Schulz, A. S., Stork, F. & Uetz, M. (2001). On Project Scheduling with Irregular Starting Time Costs, Operations Research Letters, 28(4): 149-154. NEOS, dosegljivo na: http://www.neos-server.org/neos/ (12. 07. 2011) Palisade Corporation (2010). Evolver: The Genetic Algorithm Super Solver for Microsoft Excel Version 5.7. Sakellaropoulos, S. & Chassiakos, A. P. (2004). Project Time-Cost Analysis Under Generalised Precedence Relations, Advances in Engineering Software, 35(10-11): 715-724. Senouci, A. B. & Eldin, N. N. (2004). Use of Genetic Algorithms in Resource Scheduling of Construction projects, Journal of Construction Engineering and Management, 130(6): 869-877. Shtub, A., LeBlanc, L. J. & Cai, Z. (1996). Scheduling Programs with Repetitive Projects: A Comparison of a Simulated Annealing, a Genetic and a Pair-Wise Swap Algorithm, European Journal of Operational Research, 88(1): 124-138. The MathWorks, Inc. (2011). MATLAB 7 Getting Started Guide. Turnquist, M. A. & Nozick, L. K. (2004). A Nonlinear Optimization Model of Time and Resource Allocation Decisions in Projects with Uncertainty, Engineering Management Journal, 16(1): 40-49. Vanhoucke, M., Demeulemeester, E. & Herroelen, W. (2002). Discrete Time/Cost Trade-Offs in Project Scheduling with Time-Switch Constraints, Journal of the Operational Research Society, 53(7): 741-751. Walker, M.R. & Sayer, J.S. (1959). Project Planning and Scheduling, Report 6959, Wilmington: E. I. du Pont de Nemours & Co., Inc. Wolfram, S. (2003). The Mathematica Book, Wolfram Media cop., Champaign. Xiong, Y. & Kuang, Y. (2008). Applying an Ant Colony Optimization Algorithm-based Multiobjective Approach for Time-Cost TradeOff, Journal of Construction Engineering and Management, 134(2): 153-156. Yang, I-T. (2007). Using Elitist Particle Swarm Optimization to Facilitate Bicriterion Time-Cost Trade-Off Analysis, Journal of Construction Engineering and Management, 133(7): 498-505. Uroš Klanšek je doktor znanosti s področja gradbeništva in docent Fakultete za gradbeništvo Univerze v Mariboru za področje organizacije grajenja. Je soavtor knjig s področja organizacije grajenja in gradbenega poslovanja. Raziskovalno je aktiven na področju optimizacije. Svoje raziskovalno delo je predstavil na več domačih in mednarodnih konferencah. izsledke raziskav je objavil tudi v uglednih domačih in mednarodnih revijah. Basic Principles of Cost Optimization of Construction Project Time Schedules The cost effective project realization represents one of the fundamental goals of the time scheduling in construction. the cost effective time schedule for the construction project is commonly achieved after performed analysis of the network diagram structure, activity durations, project costs, required resources and with trial-and-error testing of different alternative solutions. the minimum total cost time schedule of the construction project is usually selected from the obtained alternative solutions. the analytical approach to the time scheduling is widely used in construction on account of its simple execution and acceptable results. on the other hand, a significantly better results can be obtained by the mathematical programming-based cost optimization of time schedules. in this way, the aim of this paper is to bring forward the basic principles of the cost optimization of time schedules to the wider expert community. the paper presents the two basic methods for the model formulation of the project time scheduling optimization problems, i.e. the arrow diagramming method and the precedence diagramming method. Both methods were used for basic cost optimization model formulations of the project time scheduling optimization problem. An example from the literature was presented at the of the paper to demonstrate the applicability of optimization models for the cost optimization of construction project time schedules. Key words: project management, scheduling, costs, optimization, mathematical programming