Rezolvarea problemei rucsacului folosind tehnici de metauristici

Proiect
8/10 (1 vot)
Domeniu: Calculatoare
Conține 1 fișier: pdf
Pagini : 14 în total
Cuvinte : 4256
Mărime: 743.00KB (arhivat)
Publicat de: Ionut Cosmin B.
Puncte necesare: 8
Profesor îndrumător / Prezentat Profesorului: Simona Nicoara

Extras din proiect

Rezumare

In aceasta lucrare mi-am propus o metodologie hibrida pentru rezolvarea unei problem de optimizare, mai exact problema rucsacului. Aceasta problema apare in diverse situatii practice, cum ar fi selectarea proiectelor de investitie a bugetului. In general, pentru a rezolva problema aceasta, putem folosi algoritmi exacti, care ne dau solutii exacte sau metaeuristici care nu garanteaza solutii exacte, ci in general, ne permit sa obtinem solutii “bune” aproximative. Totusi, aplicarea metodelor exacte este limitata de marimea instantelor din problema, de resursele computationale disponibile, in timp ce metaeuristicile ne obtin “calitatea” solutiilor pentru problem mai largi folosind resurse acceptabile. Metoda propusa consta in combinarea a doua tehnici de metaeuristici care au dat performante bune in natura combinatoriala: metoda ant colony optimization si metoda scatter search. Pentru a evalua performanta acestei metode am comparat mai multe rezultate din intreaga literatura.

1.Introducere

Sa presupunem ca avem un set de obiecte ale caror valor si greutati sunt cunoscute si un sac cu o capacitate limitata. Pentru a umple sacul cu obiectele intr-o metoda in care totalul valorii lor e cea mai mare vaoare posibila e cunoscuta ca fiind problema rucsacului. Aceasta problema este foarte populara in literature si a fost foarte extensive studiata de multi autori (de exemplu Martello & Toth, 1990, Pisinger, 1995, Visee et al, 1998, Captivo et al, 2003 si Ziter, 1999). Multe probleme din viata reala pot fi formulate ca problema rucsacului sau una din variantele ei, ca de exemplu: probleme de incarcare, probleme de selectare a proiectului, probleme de buget capital, problem de lichidare de stoc. Mai mult, poate fi gasita ca o subproblema in multe modele, cum ar fi partitia si proiectarea circuitelor electronice si alegerea unei echipe de zbor(Freville, 2004; Ehrgott & Ryan, 2002; Martello & Toth, 1990).

Sunt multe abordari care pot fi folosite pentru a rezolva asemenea feluri de probleme. Aceste abordari sunt clasificate ca metode exacte si metode approximate sau metaeuristici. Solutiile obtinute de metode exacte sunt solutii exacte, in timp ce acelea obtinute de metaeuristici sunt solutii aproximative. Datorita lipsei de resurse de calculare si marimii problemelor, metodele exacte au aplicatii limitate, de exemplu devin ineficare, mai exact in instante de dimensiuni mari (Visee et al, 1998, Captivo et al, 2003 si Luila, 2008); in timp ce metodele euristice, desi ele nu dau solutii exacte, au fost folosite a o alternative pe care te poti baza, deoarece s-au dovedit a fi eficiente cand ai de aface cu problem foarte mari, deoarece ele ajung la solutii aproximative “bune” si folosesc resurse putine, cee ace ar fi practic imposibil de realizat prin metode exacte (Ghosh, 2004; Freville, 2004).

In articolul acesta este prezentat un algoritm hibrid bazat pe combinarea a doua metaeuristici, care in particular au aratat performante bun in rezolvarea mai multor problem de combinatorie in natura: metoda ant colony optimization si metoda scatter search. Ideea e sa introducem niste imbunatatiri in algoritmul de colonie propus de Alaya et al (2007) sa poata fi combinat cu metoda scatter search propusa de Gomes da

Silva et al (2006) sis a analizam aplicarea ei prin rezolvarea unei instante mari de variante a problemei rucsacului cu o constrangere sau mai multe.

Restul lucrarii e organizat cum urmeaza: in sectiunea 2 sunt prezentate unele din conceptele teoretice care au legatura cu optimizarea combinarii multi-obiectiv si o definitie formala a celor doua variante de problem din studiu; sectiunile 3 si 4 sunt dedicate metaeuristicilor ant colony optimization si scatter search; in sectiunea 5 sunt prezentate strategii diverse de combinare a celor doua metaeuristici studiate; in sectiunea 6 sunt rezultatele prezentate si comentarii legate cu privire la experimentele pe calculator puse in metodele implementate; si sectiunea 7 prezinta concluziile principale.

2. Multi-obiectiv combinatorial

Optimizare

In anumite probleme reale ale vietii sunt mai mult decat un obiectiv de intalnit (de xemplu Kwark et al, 1996; Teng and Tzeng, 1996). Problemele combinatoriale de optimizare (in engleza MCOP) este denumirea comuna pentru problem de combinare cu mai mult de un obiectiv de optimizat. Aceste problem sunt caraterizate prin un numar mai mare de solutii, nu exista o singura solutie (optimul globar) dar un set de solutii de incredere poisibile numite set Pareto sau solutii non-dominate, care sunt superioare celorlalte cand luam in considerare toate obiectivele. Multiplicitatea solutiilor este explicata de faptul ca obiectivele se bat cap in cap. De xemplu, cand alegem o masina noua sa o cumparam anumite obiective pot fi luate in considerate. Pe de o parte este de dorit sa achizitionam o masina care are o performanta buna (in termeni de viteza maxima si capacitate de accelerare). Pe de alta parte masina trebuie sa fie sigura, economica si sa aiba un cost cat mai mic de achizitie.

Mai formal, un MCOP (in cazul problemei de maximizare) poate fi definit de urmatoarele:

unde zi(x)=cix reprezinta al i-lea obiectiv al functiei; ci reprezinta vectorul de valori asociat al obiectivului cu numarul I al functiei; n este numarul de variabile decizionale; X reprezinta regiunea posibila in spatial de decizie; h este numarul de restrictii/constrangeri; x este vectorul de variabile de decizie, x=(x1,x2,…,xn)r; A reprezinta coeficientul tehnologic al matricei (h x n) si b este vectorul de termeni independent ai restirctiilor.

Bibliografie

Alaya, I., Solnon, C., & Ghédira, K. (2007). Ant Colony Optimization for Multi-objective Optimization Problems. 19th IEEE International Conference on Tools with Artificial Intelligence, pp. 450-457.

Captivo, M. E., Clímaco, J., Figueira, J., Martins, E., & Santos, J. L. (2003). Solving Bicriteria 0-1 Knapsack Problems using a Labeling Algorithm. Computers & Operations Research, 30, pp. 1865-1886.

Dorigo, M., & Stützle, T. (2004). Ant Colony Optimization. MIT Press.

Dorigo, M., Maniezzo, V., & Colorni, A. (1991). The Ant System: An Autocatalytic Optimization Process. Technical Report 91-016 Revised. Dipartimento di Elettronica, Politecnico di Milano, Itália.

Ehrgott, M., & Ryan, D. M. (2002). Constructing Robust Crew Schedules with Bicriteria Optimization. Journal of Multi-Criteria Decision Analysis, 11 (3), pp. 139-150.

Fonseca, C.M., & Fleming, P.J. (1993). Genetic Algorithms for Multi-objective Optimization: Formulation, Discussion, Generalization. The Fifth International Conference on Genetic Algorithms, pp. 416-423.

Fréville, A. (2004). The Multidimensional 0–1 Knapsack Problem: An Overview. European Journal of Operational Research, 155, pp. 1– 21.

Ghosh, A. (2004). Evolutionary Algorithms for Multi-Criterion Optimization: A Survey. International Journal of Computing & Information Sciences, 2 (1), pp. 38-57.

Glover, F. (1977). Heuristics for Integer Programming Using Surrogate Constraints. Decision Sciences, 8 (1), pp. 156-166.

Glover, F (1998). A Template for Scatter Search and Path Relinking. In J. K. Hao, E. Lutton, E. Ronald, M. Schoenauer, & D. Snyers (Eds.), Artificial Evolution, Lecture Notes in Computer Science 1363

(pp. 13-54). Springer-Verlag.

Glover, F. (1999). Scatter Search And Path Relinking. In D. Corne, M. Dorigo, F. Glover (Eds.), New Ideas in Optimization (pp. 297-316). McGraw-Hill.

Gomes da Silva, C., Clímaco, J., & Figueira, J. (2006). A Scatter Search Method for Bi-criteria {0,1}-Knapsack Problems. European Journal of Operational Research, 169, pp. 373-391.

Hajela, P., & Lin, C. Y. (1992). Genetic Search Strategies in Multi-criterion Optimal Design. Structural Optimization, 4, pp. 99-107.

Horn, J., Nafpliotis, N., & Goldberg, D.E. (1994). A Niched Pareto Genetic Algorithm for Multi-objective Optimization. First IEEE Conference.

Klingman, D., Napier, A., & Stutz, A. (1974). NETGEN: A Program for Generating Large Scale Capacitated Assignment, Transportation, and Minimum Cost Flow Network Problems. Management Science, 20(5), pp. 814-821.

Kwark, W., Lee, H., & Lee, C. (1996). Capital Budgeting With Multiple Criteria and Multiple Decision Makers. Review of Quantitative Finance and Accounting, 7, pp. 97-112.

Luila, E. P. (2008). Problema da Mochila Multi-critério, Aspectos Algorítmicos e Implementação Informática. Tese de Mestrado, Instituto Superior Técnico, Universidade Técnica de Lisboa.

Martello, S., & Toth. P. (1990). Knapsack Problems: Algorithms and Computer Implementations. New York: John Wile & Sons, Inc.

Pisinger, D. (1995). Algorithms for Knapsack Problems. PhD thesis, Dept. of Computer Science, University of Copenhagen.

Schaffer, J. (1985). Multiple Objective Optimization with Vector Evaluated Genetic Algorithms. International Conference on Genetic Algorithms, Lecture Notes in Computer Science, pp. 93-100.

Srinivas, N., & Deb, K. (1994). Multi-objective Optimization using Non Dominated Sorting in Genetic Algorithms. Evolutionary Computation, 2, pp. 221-248.

Teng, J. Y., & Tzeng, G. H. (1996). A Multi-objective Programming Approach for selecting Non-independent Transportation Investment Alternatives. Transportation Research-B, 30, pp. 291-3.

Visée, M., Teghem, J., & Ulungu, E.L. (1998). Two-Phases Method and Branch and Bound Procedures to solve the Bi-objective Knapsack Problem. Journal of Global Optimization, 12, pp. 139-155.

Zitzler, E. (1999). Evolutionary Algorithms for Multi-objective Optimization: Methods and Applications. PhD thesis, Swiss Federal Institute of Technology, Zurich.

Zitzler, E., & Thiele, L. (1999). Multi-objective Evolutionary Algorithms: A Comparative Case Study, the Strength Pareto Approach. IEEE Transactions on Evolutionary Computation, 3, pp. 257-271

Preview document

Rezolvarea problemei rucsacului folosind tehnici de metauristici - Pagina 1
Rezolvarea problemei rucsacului folosind tehnici de metauristici - Pagina 2
Rezolvarea problemei rucsacului folosind tehnici de metauristici - Pagina 3
Rezolvarea problemei rucsacului folosind tehnici de metauristici - Pagina 4
Rezolvarea problemei rucsacului folosind tehnici de metauristici - Pagina 5
Rezolvarea problemei rucsacului folosind tehnici de metauristici - Pagina 6
Rezolvarea problemei rucsacului folosind tehnici de metauristici - Pagina 7
Rezolvarea problemei rucsacului folosind tehnici de metauristici - Pagina 8
Rezolvarea problemei rucsacului folosind tehnici de metauristici - Pagina 9
Rezolvarea problemei rucsacului folosind tehnici de metauristici - Pagina 10
Rezolvarea problemei rucsacului folosind tehnici de metauristici - Pagina 11
Rezolvarea problemei rucsacului folosind tehnici de metauristici - Pagina 12
Rezolvarea problemei rucsacului folosind tehnici de metauristici - Pagina 13
Rezolvarea problemei rucsacului folosind tehnici de metauristici - Pagina 14

Conținut arhivă zip

  • Rezolvarea problemei rucsacului folosind tehnici de metauristici.pdf

Alții au mai descărcat și

Implementarea algoritmilor evolutivi

Conceptul de evoluţie a fost propus de savantul englez Charles Darwin în 1859 în celebra sa carte “Originea speciilor prin selecţie naturală”....

Software pentru recruțarea de personal

1. Introducere Recrutarea și selecția resurselor umane reprezintă două subprocese vitale în cadrul procesului de management al capitalului uman...

Rezolvarea Problemei Comis - Voiajorului cu Ajutorul Algoritmilor Genetici

Algoritmi genetici Tehnici adaptive de cautare euristica, bazate pe principiile geneticii si ale selectiei naturale Lucreaza cu o populatie de...

Sistem inteligent pentru dezvoltarea câmpurilor petroliere

Capitolul I: Proces economic. Tehnologii inteligente Domeniul inteligenţei artificiale, sau IA, îşi propune să inţeleagă entităţile inteligente....

Arhitectura calculatoarelor - Intel vs AMD

Rezultatele din testul 3DS Max 7 SPECapc Test Testul alaturat consta in crearea modelelor 3D, modificarea si randarea scripturilor. Conform...

Rezolvarea Problemei Comis-Voiajorului cu Algoritmi Genetici

Problema comis-voiajorului Una dintre cele mai cunoscute probleme de optimizare este problema comis-voiajorului, o problemă NP-completă care nu...

Laboratoare la C++

Chişinău 2014 1.Scrieţi un program care calculează suma cifrelor pentru fiecare număr din consecutivitatea de 100 de numere aleatoare. Listing:...

Ai nevoie de altceva?