Sunteți pe pagina 1din 5

11.

Optimizarea func\iilor de form` politropic`

Func\ia obiectiv este o func\ie politropic` cu trei variabile


independente de forma:
y  a o  x1a  x 2a  x 3a
1 2 3

(4.153)
iar restric\iile sunt:
x1  x1 max x1  x1 max
x2  x2 max x2  x2 max
(4.154)
x3  x3 max x3  x3 max
Programul de calcul realizat permite optimizarea ]i a
urm`toarelor tipuri de func\ii obiectiv [n prezen\a restric\iilor:
y  a o  x1a  x 2a  x 3a
1 2 3

(4.155)
x1b  x 2b  x 3b  d i
1i 2i 3i
i = 1, 2, ...., n1
(4.156)
x1b  x 2b  x 3b  d i
1i 2i 3i
i = n1 +1,...., n1 +n2

y  a o  a1 x1  a 2 x 2  a 3 x 3
(4.157)
b1i x1  b2 i x 2  b3i x 3  d i i = 1, 2, ...., n1
(4.158)
b1i x1  b2 i x 2  b3i x 3  d i i = n1 +1,...., n1 +n2

Func\ia politropic` se liniarizeaz` prin logaritmare:

Y  Ao  a1 X 1  a 2 X 2  a 3 X 3 (4.159)
unde:
Ao = ln ao
Xi = ln xi i = 1, 2, 3
Y = ln y
Determinarea valorii optime a func\iei obiectiv [n prezen\a
unor restric\ii se face folosind algoritmul simplex primal. Pentru
aceasta, func\ia obiectiv ]i sistemul de ecua\ii ce definesc
restric\iile se vor scrie sub form` tabelar`:
Tabelul 4.16
j 1 2 3 4 5 6 7 8 9
i x1 x2 x3 x4 x5 x6 x7 x8 x9
1 x4 C11 D1 D1 D1 D1 D1 D1 D1 D1 D1
1 2 3 4 5 6 7 8 9
2 x5 C21 D2 D2 D2 D2 D2 D2 D2 D2 D2
1 2 3 4 5 6 7 8 9
3 x6 C31 D3 D3 D3 D3 D3 D3 D3 D3 D3
1 2 3 4 5 6 7 8 9
4 x7 C41 D4 D4 D4 D4 D4 D4 D4 D4 D4
1 2 3 4 5 6 7 8 9
5 x8 C51 D5 D5 D5 D5 D5 D5 D5 D5 D5
1 2 3 4 5 6 7 8 9
6 x9 C61 D6 D6 D6 D6 D6 D6 D6 D6 D6
1 2 3 4 5 6 7 8 9
Y EO E1 E2 E3 E4 E5 E6 E7 E8 E9

Elementele tabelului se calculeaz` cu rela\iile:

Ci1 = di i = 1, 2, ......, n1 +n2


Dij = bij i = 1, 2, ......, n1 ; j = 1, 2, ....., m (m =
3)
Dij = bij i = n1 +1, ....., n1 +n2; j = 1, 2, ....., m
Dij = 1 i=j-m j = m +1, .....,m+n 1
(4.160)
Dij = 0 j = m+n1+1, ......, m+n1+n2
Eo = ao
Ei = ai i = 1, 2, ......, m
Pentru calculul valorii maxime:
Eo = -ao
(4.161)
Ei = -ai i = 1, 2, ......, m
Dac` to\i coeficien\ii ultimului r@nd ai tabelului sunt
pozitivi (Ei > 0) s-a ob\inut solu\ia optim`. Dac` exist` coeficien\i
negativi se mai fac intera\ii. Coloana de interschimb (p 1) se
determin` din condi\ia:
 E i  max i = 1, 2, ...., m
(4.162)
Linia de interschimb (q1) se determin` din condi\ia:
Ci 1
 min i = 1, 2, ...., n1+n2; Di p1 > 0
Di , p1
(4.163)
La intersec\ia coloanei p1 ]i a liniei q1 se afl` elementul pivot
Dq1,p1.
In continuare se calculeaz` elementele urm`torului tabel
corespunz`tor punctului urm`tor de testare (k). Pentru aceasta
se [mpart coeficien\ii liniei pivot q1 cu elementul pivot Dq1,p1.
Cq(1k11)
C (k )
q1 1 
Dq(1kp11)
(4.164)
Dq(1kj1)
D (k )
q1 j  j =1, 2, ....., m; j p1
Dq(1kp11)
(4.165)
1
Dq(1kj)  ( k  1) j = p1
D q1 p1

(4.166)
Celelalte elemente ale tabelului pentru punctul (k) de
testare se calculeaz` pornind de la elementele tabelului pentru
punctul (k-1) de testare cu rela\iile:
Cq(1k11)
C (k )
q1 1 
Dq(1kp11)
Dq(1kn1q)1
D (k )
q1 j  j = p1 j = 1, 2, ......, m
D (jpk11)
Dq(1kj1)
D (k )
q1 j  j  p1 j = 1, 2, ......, m
D jp( k11)
E o( k )  E o( k 1)  Cq(1k11)  Dm1, p1
(4.167)
Ci(1k )  Ci(1k 1)  Cq(1k11)  Di , p1 i = 1, 2, ......, m; i q1
Dij( k )  Dij( k 1)  Dq(1kj1)  D j( k, p11) i = 1, 2, ......, m; j = 1, 2, ....,
m; i q1
E j( k )  E j( k 1)  Dq(1kj1)  Dm( k11, p) 1
j = 1, 2, ...., m; j q1
E j( k )   Dq( kj1)  Dm( k11, p)
1
j = 1, 2, ...., m; j = q1
1

Se schimb`, [ntre ele, pozi\iile variabilelor x p ]i x q . Se 1 1

verific` dac` coeficien\ii ultimului r@nd ai tabelului sunt pozitivi.


Dac` condi\ia este [ndeplinit` se afi]eaz` valoarea func\iei:
- valoarea maxim`:
y = Eo pentru func\ia liniar`;
y  e E pentru func\ia politropic`;
o

- valoarea minim`:
y = - Eo pentru func\ia liniar`;
y  e  E pentru func\ia politropic`;
o

Valorile variabilelor independente sunt valorile coeficien\ilor C i1


astfel:
- pentru func\ia liniar`: Ci1
- pentru func\ia politropic`: e Ci 1
Utiliz@nd acest algoritm de calcul a fost realizat un
program [n limbajul de programare Turbo Pascal prezentat [n
Anexa 6.

Exemplul 11.1

S` se afle valoarea maxim` a func\iei:


y  10  x13  x 25  x 34
pentru urm`toarele condi\ii:
x12  x 23  8
x 22  x 35  10
x13  x 22  x 34  16
Tabelul pentru primul punct de testare este:

2.079 2 3 0
4
2.302 0 2 5
5
2.772 3 2 4
5
2.302 -3 -5 -4
5

Coloana de schimb este a 3-a iar linia de schimb este a 1-a. Tabelul
pentru al doilea punct de testare este:
0.693 0.666 0.3333 0
1 6
0.916 - -0.6666 5
2 1.333
1.386 1.666 -0.6666 4
2 6
5.768 0.333 1.6666 -4
3 3

Coloana de schimb este a 4-a iar linia de schimb este a 2-a. Tabelul
pentru al treilea punct de testare este:
0.693 0.6666 0.3333 0
1
0.183 -0.2666 -0.1333 0.1999
2
0.653 2.7333 -0.1333 -0.7999
2
6.501 -0.7333 1.1333 0.7999
3

Coloana de schimb este a 2-a iar linia de schimb este a 3-a. Tabelul
pentru al patrulea punct de testare este:
0.533 -0.2439 0.3658 0.1951
8
0.246 0.0975 -0.1463 0.1219
9
0.238 0.3658 -0.0487 -0.2926
9
6.676 0.2682 1.0975 0.5853
6

Valoarea maxima a functiei este y = 793.596 pentru:


x1 = 1.27
x2 = 1.705
x3 = 1.28

S-ar putea să vă placă și