Prefatã

    Prin modelul matematic foarte general pe care-l consideră, programarea matematică, ca o secțiune bine individualizată în cadrul științelor computaționale, constituie unul dintre cele mai puternice instrumente cu aplicații în toate domeniile de activitate. Problemele de programare matematică se instituie în efortul de a determina „cea mai bună funcționare sau situație“ a unui fenomen sau activități date. Orice problemă de programare matematică, cunoscută încă sub numele de problemă de optimizare, constă în determinarea valorilor unor variabile care, trebuind să verifice un sistem de restricții algebrice, determină minimul (sau maximul) unei funcții date. Funcția de minimizat se numește funcție obiectiv și de cele mai multe ori are o semnificație fizică concretă în problemele reale. Restricțiile pe care variabilele trebuie să le verifice, exprimate ca relații algebrice liniare sau neliniare de tip egalități sau inegalități, reprezintă legăturile funcționale dintre variabile și limitările acestora, definite de situația fizică modelată ca o problemă de optimizare. Prin conceptele matematice utilizate și tehnologiile informatice care implementează algoritmii corespunzători, prin dezvoltările imprimate în algebra liniară computațională și în teoria limbajelor și a compilatoarelor, programarea matematică se dovedește un domeniu matur al științelor computaționale cu contribuții importante atât la dezvoltarea unor capitole de matematică abstractă cât și la înțelegerea fenomenelor din foarte multe domenii de activitate.

Scopul monografiei. În elaborarea acestei monografii, activitate desfășurată pe parcursul mai multor ani, intenția a fost de a furniza celor interesați o colecție de modele de programare liniară și probleme de test și aplicații, care să constituie, pe de-o parte, modele practice concrete de optimizări liniare și, pe de altă parte, probleme de test pentru pachetele de programare matematică. Problemele de test de optimizare, bine proiectate și documentate, sunt foarte importante atât pentru profesioniștii din mediul academic cât și din cel industrial, interesați în dezvoltările algoritmice și de software de optimizare, precum și în aplicații practice. Prezenta colecție include probleme de test din literatura de specialitate, precum și multe aplicații care apar în inginerie și științele aplicate. Totodată, monografia dorește să prezinte metodologia actuală de modelare în programarea matematică, care se bazează pe utilizarea limbajelor de programare matematică.

Structura monografiei. Materialul acestei monografii se structurează în cinci capitole. Primul capitiol, cu un caracter introductiv, prezintă câteva chestiuni privind tipurile de probleme de programare matematică care se identifică în acest domeniu, precum și schema generală de modelare pentru programarea matematică. Această schemă va fi detaliată în capitolele trei și patru pentru cazul programării liniare, respectiv a celei neliniare în care pe lângă optimizator apar tehnologiile informatice bazate pe limbaje de programare matematică. Capitolul 2 este dedicat prezentării unei colecții de probleme de test de optimizare fără restricții. Pe lângă cele 87 de probleme se prezintă foarte sumar condițiile de optimalitate și metodele de rezolvare corespunzătoare acestei clase de probleme. Capitolul 3 conține o listă de 14 prototipuri de modele de programare liniară care se întâlnesc în aplicații practice, mai ales cu caracter economic. Astfel se prezintă modele de alocare a resurselor, de asamblare, de dezasamblare, de transport, de repartiție sau asignare, de curgere în rețele, de amestec, sau modele de producție cu selectarea tehnologiilor, sau cu stocuri, inclusiv de programare liniar dinamică. O secțiune separată este dedicată dezvoltării sau „creșterii“ modelelor de programare liniară. Totodată în acest capitol se prezintă schema de modelare pentru programarea liniară, precum și metode de rezolvare a acestei probleme. Capitolul 4 detaliază un număr de 100 de probleme de test de optimizare cu restricții. Pentru fiecare problemă se prezintă funcția obiectiv, restricțiile funcționale, acolo unde este cazul marginile asupra variabilelor, punctul inițial și soluția problemei, precum și valoarea funcției obiectiv corespunzătoare acestor puncte. În același timp, în acest capitol, se prezintă condițiile de optimalitate pentru optimizarea fără restricții, precum și principalele metode de optimizare neliniară. O poziție aparte este dedicată explicitării schemei de modelare pentru optimizarea neliniară. Ultimul capitol prezintă 45 de aplicații de programare matematică din diverse domenii de activitate ca: electric, chimic, mecanic, biologic, economic, termodinamică, stabilitatea sistemelor etc. Monografia conține, de asemenea, trei anexe în care se prezintă limbajul ALLO de optimizări liniare, o listă a aplicațiilor de programare matematică tratate în lucrare, precum și o galerie de matrice rare. Lucrarea se încheie cu o bibliografie și un index de termeni și de autori.

Adresabilitate. Parcurgerea acestei monografii impune cititorului cunoștințe avansate în domeniul modelării și optimizării pentru programarea matematică. Lucrarea se adresează la două clase mari de utilizatori. Prima constă în specialiști din domeniul programării matematice interesați în testarea implementărilor algoritmilor de optimizare (inclusiv a celor proprii), precum și în efectuarea de studii și comparații numerice ale unor clase de algoritmi de optimizare. A doua clasă constă în specialiști din alte domenii de activitate interesați în capabilitățile programării matematice în ceea ce privește modelarea matematică pentru optimizare, și care înțeleg utilizarea modelelor de optimizare în domeniul lor de activitate. Specialistul în programarea matematică va găsi o colecție foarte diversificată de probleme de optimizare, fără sau cu restricții, care, pe lângă problema în sine, include soluția locală a acestora. Analiștii din domeniul cercetărilor operaționale și al științei managementului, planificatori, programatori, ingineri, doctoranzi etc vor găsi informații foarte utile asupra tehnicilor de modelare matematică pentru optimizare, precum și a capabilităților programării matematice de a rezolva probleme industriale, reale.

Mulțumiri. Fără nici o rezervă mulțumirile noastre se îndreaptă către Fundația „Alexander-von-Humboldt”- Germania, care cu o deosebită generozitate și solicitudine a știut să ne motiveze și sprijine moral și material de-a lungul celor peste doi ani petrecuți în căteva universități din Germania, precum și pentru ajutorul acordat de-a lungul timpului, după efectuarea bursei, atât prin donațiile făcute cât și prin stagiile de cercetare pe care le-am efectuat în acest răstimp. De asemenea, ne îndreptăm mulțumirile către cei câțiva colegi și prieteni care cu răbdare și umor ne-au sprijinit și încurajat în elaborarea acestei monografii. Dar nimic nu ar fi fost posibil fără afecțiunea și înțelegerea pe care le-am găsit la soția și la copiii mei, care mi-au apreciat și susținut intenția, dorința și munca de a concretiza efortul nostru de-a lungul anilor și de a-l face public în beneficiul tuturor.

 

 Bucureºti,
 Septembrie 2002
                                                                                                                                   Neculai Andrei