PEAG project - CSIE, An 2, Sem. 2, Informatica economica Proiect PEAG seminar, 50% nota finala. PDF

Title PEAG project - CSIE, An 2, Sem. 2, Informatica economica Proiect PEAG seminar, 50% nota finala.
Course Programare evolutiva si algoritmi genetici
Institution Academia de Studii Economice din București
Pages 9
File Size 234.6 KB
File Type PDF
Total Downloads 12
Total Views 34

Summary

DOCUMENTAȚIEPROIECTPEAG30ți un proiect pentru rezolvarea genetică a următoarei probleme de tip amestec. Ofabrică de produs şi ambalat cafea utilizează două tipuri de materii prime, cafea braziliană şicafea columbiană şi produce două mărci de cafea, Super şi Lux. Fiecare kilogram de cafea Superconți...


Description

DOCUMENTAȚIE PROIECT PEAG

1

30.Elaborați un proiect pentru rezolvarea genetică a următoarei probleme de tip amestec. O fabrică de produs şi ambalat cafea utilizează două tipuri de materii prime, cafea braziliană şi cafea columbiană şi produce două mărci de cafea, Super şi Lux. Fiecare kilogram de cafea Super conţine cafea braziliană şi cafea columbiană în cantităţi egale, iar un kilogram de cafea din marca Lux conţine 25% cafea braziliană şi 75% cafea columbiană. Resursele disponibile unei linii de producţie sunt de 120 kg. cafea braziliană şi 160 kg. cafea columbiană. Dacă profitul obţinut din vânzarea unui kg. din marca Super este de 20 de unităţi şi profitul rezultat prin vânzarea unui kg. de cafea din marca Lux este de 30 de unităţi, problema este de a determina numărul de kg. din fiecare marcă de cafea care trebuie produse pentru a obţine profit maxim.

1 kg SUPER =50%braziliana +50%columbiana

1 kg LUX=25%braziliana + 75%columbiana

X kg SUPER = 0.5 X braziliana+ 0.5 X columbiana Y kg LUX = 0.25 Ybraziliana +0.75Y columbiana

Xkg SUPER +y kg LUX = (0.5X +0.25Y) braziliana +(0.5X +0.75Y)columbiana Dar -braziliana max 120kg -columbiana max 160kg => 0.5X +0.25Y marca Lux *Genotip: vector cu 2 elemente numere intregi v=(x,y), X-Columbiana; Y-Braziliana *Restrictii: 0.5X +0.25Y pop(k,1:2)=v; ->valoarea functiei obiectiv -> pop(k,3)=F(x,y)

3.Generarea populatiei =aleator, cu respectarea restrictiilor *conditie de terminare: numar limitat de generatii

4.Selectia parintilor *Functia obiectiv are valori positive => distributie de probabilitate de selectie FPS cu sigma scalare *Ruleta de tip SUS

5.Recombinarea *Operatorul de recombinare incrucisata uniforma cu probabilitate pc *Perechile de parinti sunt unice, indivizii parinti sunt folositi doar o data *Descendenti sunt mereu viabili datorita acestui tip de recombinare.

6.Mutatie *Resetare aleatoare cu probabilitatea pm. *Trebuie verificata viabilitatea descendentilor, conform restrictiilor 0.5X +0.25Y numar iteratii maxime *pm->probabilitate de mutatie *pc->probabilitate de combinare *P->vector de profituri din fiecare generatie *S->vector de solutii din fiecare generatie

Codul sursa -----------------------------------------algoritmul genetic----------------------------------------------

function[]=cafea(dim,pm,pc,maxim) Pop=gen_pop(dim); %multimea profiturilor corespunzatoare fiecarei P=zeros(1,maxim); generatii , obtinute de-a lungul evolutiei S=zeros(maxim,3); %multimea solutiilor %cele mai bune din ambele vor fi ultimele si ele vor fii %profitul si solutia cautata

[val,i]=max(Pop(:,3)); P(1)=val;

5

[~,poz]=ismember(val,Pop(:,3)); S(1,:)=Pop(poz,:); t=1; while t 120) || (0.5*x +0.75*y >160) ) x=unidrnd(241)-1; y=unidrnd(214)-1; end; pop(i,1)=x; pop(i,2)=y; pop(i,3)=functie_obiectiv(x,y); end; disp(pop); end ------------------------------- SUS----------------------------------function[Pop]=SUS(pop) [dim,n]=size(pop); Pop=zeros(dim,n); c=2; media=mean(pop(:,n)); sigma=std(pop(:,n)); val=media-c*sigma; p=zeros(1,dim); for i=1:dim p(i)=max([pop(i,n)-val 0]); end; suma=sum(p); g=p/suma; q=zeros(1,dim); for i=1:dim q(i)=sum(g(1:i)); end; i=1 ; j=1; r= unifrnd(0,1/dim); while (i...


Similar Free PDFs