Anda di halaman 1dari 8

Exerccio 3.

2
a) ( ) ( )
Primeiramente, deve-se converter as operaes no bsicas em bsicas usando a relao
de equivalncia mostrada abaixo:
equivalente a ( )
Portanto,
( ) ( ) equivalente a [( ) ( )]
Em seguida, deve-se distribuir as negaes usando o Teorema de De Morgan, que
mostrado a seguir:
( ) = ( )
( ) = ( )
Assim,
[( ) ( )] equivalente a [( ) ( )]
Em seguida, deve-se distribuir ou sobre e, transformando a relao em uma conjuno
de disjunes:
{[( ) ] [( ) ]}
( ) ( ) ( ) ( )
Por fim, converte-se as disjunes em equaes lineares:
1 + 3 1
(1 2) + 3 1
1 + (1 4) 1
(1 2) + (1 4) 1
Rearranjando:
1 + 3 1
2 + 3 0
1 4 0
2 + 4 1

b) Transformando a descrio do problema em restries lgicas, temos:


( ) ( )
Convertendo para restries bsicas:
( ) ( ) equivalente a [( ) ( )]
Distribuindo as negaes:
[( ) ( )] equivalente a ( ) ( )
Transformando a relao em uma conjuno de disjunes:
[( ) ()] [( ) ()] [( ) ()]
( ) ( ) ( ) ( ) ( ) ( )
Convertendo em equaes lineares:
(1 ) + 1
(1 ) + 1
(1 ) + 1
(1 ) + 1
(1 ) + 1
(1 ) + 1
Rearranjando:
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0

Exerccio 3.3

b) Consideremos as seguintes variveis:


1 Varivel contnua que representa a presso mxima do reator R1, em atm;
3 Varivel binria que representa o uso da coluna D3. Igual a 1 se for usada e igual a 0
caso contrrio.
O problema pode ser formulado da seguinte forma:

Caso a coluna D3 seja usada (3 = 1) 1 75 15 1 1 60
Caso a coluna D3 NO seja usada (3 = 0) 1 75 15 0 1 75

c) = 15 + 6 + (1 ) SOLUO LINEAR?

Exerccio 3.6 Desenhar Superestrutura

a) Cdigo usado no GAMS


--------------------------------------------------------------------------------------------------------
SCALAR
CMAB converso de A para B / 0.91 / ,
CMBCII converso de B para C pelo processo II / 0.82 / ,
CMBCIII converso de B para C pelo processo III / 0.95 / ,
CFI custo fixo ($ por hora) do processo I / 1000 / ,
CFII custo fixo ($ por hora) do processo II / 1500 / ,
CFIII custo fixo ($ por hora) do processo III / 2000 / ,
CVI custo varivel ($ por ton de mat. prima) do processo I / 250 / ,
CVII custo varivel ($ por ton de mat. prima) do processo II / 400 / ,
CVIII custo varivel ($ por ton de mat. prima) do processo III / 550 / ,
PC preo de venda ($ por ton) de C / 1800 / ,
PA preo de compra ($ por ton) de A / 500 / ,
PB preo de compra ($ por ton) de B / 950 / ,
DC demanda mxima (ton por hora) de C / 10 / ,
SA suprimento mximo (ton por hora) de A / 16 / ;

FREE VARIABLE Z;
POSITIVE VARIABLES A, B, C;
BINARY VARIABLES y1 produzir (1) ou comprar (0) produto B, y2 processo II (0) ou III (1);

EQUATIONS Lucro, R1, R2, R3, R4;

Lucro.. Z =E= PC*C - PB*B + y1*(PB*B - CFI - CVI*A - PA*A) - CFII - CVII*B - y2*((CFIII - CFII) + (CVIII - CVII)*B) ;
R1.. A - SA =L= 0;
R2.. C - DC =L= 0;
R3.. C - B*(CMBCII + (CMBCIII - CMBCII)*y2) =E= 0;
R4.. B - CMAB*A =E= 0;

MODEL Problema / ALL / ;


SOLVE Problema USING MINLP MAXIMIZING Z;
---------------------------------------------------------------------------------------------------------------
Resultado:
Z=571.027 So usados os processos I e II, B produzido na fbrica e so produzidas 10 toneladas de C.

b) Cdigo usado no GAMS


--------------------------------------------------------------------------------------------------------
SCALAR
CMAB converso de A para B / 0.91 / ,
CMBCII converso de B para C pelo processo II / 0.82 / ,
CMBCIII converso de B para C pelo processo III / 0.95 / ,
CFI custo fixo ($ por hora) do processo I / 1000 / ,
CFII custo fixo ($ por hora) do processo II / 1500 / ,
CFIII custo fixo ($ por hora) do processo III / 2000 / ,
CVI custo varivel ($ por ton de mat. prima) do processo I / 250 / ,
CVII custo varivel ($ por ton de mat. prima) do processo II / 400 / ,
CVIII custo varivel ($ por ton de mat. prima) do processo III / 550 / ,
PA preo de compra ($ por ton) de A / 500 / ,
PB preo de compra ($ por ton) de B / 950 / ,
SA suprimento mximo (ton por hora) de A / 16 / ;

FREE VARIABLE Z;
POSITIVE VARIABLES A, B, C;
BINARY VARIABLES y1 produzir (1) ou comprar (0) produto B, y2 processo II (0) ou III (1), y3 C produzido maior que 10
(1) ou menor (0);

EQUATIONS Lucro, R1, R3, R4, R6, R7;

Lucro.. Z =E= 1800*C + y3*(-1800*(C-10)+1500*(C-10)) - PB*B + y1*(PB*B - CFI - CVI*A - PA*A) - CFII - CVII*B -
y2*((CFIII - CFII) + (CVIII - CVII)*B) ;
R1.. A - SA =L= 0;
R3.. C - B*(CMBCII + (CMBCIII - CMBCII)*y2) =E= 0;
R4.. B - CMAB*A =E= 0;
R6.. 10*(y3) - C =L= 0;
R7.. C - 10*(1-y3) - 15*(y3) =L= 0;

MODEL Problema / ALL / ;


SOLVE Problema USING MINLP MAXIMIZING Z;
---------------------------------------------------------------------------------------------------------------
Resultado:
Z=740. So usados os processos I e III, B produzido na fbrica e so produzidas 13.832 toneladas de C.

Exerccio 3.14
Cdigo usado no GAMS
--------------------------------------------------------------------------------------------------------
SETS
i Produto / A, B / ,
j etapa / mistura, reacao, separacao / ,
k quantidade de cada etapa / 1*3 / ;

PARAMETERS
Q(i) demanda de cada produto i (kg)
/ A 200000
B 100000 / ;

TABLE
S(i,j) fator de tamanho entre volume da unidade j por quantidade de i (Lj por kgi)
mistura reacao separacao
A 2 3 4
B 4 6 3 ;

TABLE
t(i,j) tempo de processamento de i em j (h)
mistura reacao separacao
A 8 20 8
B 16 4 4 ;

SCALAR
H horizonte de tempo (h) / 6000 / ,
Vmin volume mnimo para cada unidade (L) / 250 / ,
Vmax volume mximo para cada unidade (L) / 2500 / ;

FREE VARIABLE Z custo;


POSITIVE VARIABLES b(i) tamanho de cada batelada do produto i (kgi), v(j) capacidade de uma unidade no estgio j
(Lj), tl(i) tempo de ciclo do produto i (h), n(j) nmero de unidade em paralelo em cada etapa j;
BINARY VARIABLE y(j,k) emprego da quantidade k na etapa j ;

EQUATIONS OBJ, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17;

OBJ.. Z =E= sum(j, 250*exp(n(j)+0.6*v(j)));


R1(i,j).. -v(j) + LOG(S(i,j)) + b(i) =L= 0;
R2(i,j).. -n(j) - tl(i) + LOG(t(i,j)) =L= 0;
R3.. sum(i, Q(i)*exp(tl(i)-b(i))) - H =L= 0;
R4.. n('mistura') - y('mistura','1')*LOG(1) - y('mistura','2')*LOG(2) - y('mistura','3')*LOG(3) =E= 0;
R5.. n('reacao') - y('reacao','1')*LOG(1) - y('reacao','2')*LOG(2) - y('reacao','3')*LOG(3) =E= 0;
R6.. n('separacao') - y('separacao','1')*LOG(1) - y('separacao','2')*LOG(2) - y('separacao','3')*LOG(3) =E= 0;
R7(j).. sum(k, y(j,k)) - 1 =E= 0;
R8(j).. LOG(Vmin) - v(j) =L= 0;
R9(j).. -LOG(Vmax) + v(j) =L= 0;
R10.. LOG(20/3) - tl('A') =L= 0;
R11.. -LOG(20) + tl('A') =L= 0;
R12.. LOG(16/3) - tl('B') =L= 0;
R13.. -LOG(16) + tl('B') =L= 0;
R14.. LOG((Q('A')*(20/3))/H) - b('A') =L= 0;
R15.. -LOG(Vmax/4) + b('A') =L= 0;
R16.. LOG((Q('B')*(16/3))/H) - b('B') =L= 0;
R17.. -LOG(Vmax/6) + b('B') =L= 0;

MODEL Problema / ALL / ;


OPTION minlp = dicopt;
SOLVE Problema USING MINLP MINIMIZING Z;
------------------------------------------------------------------------------------------------------------------
Resultado= 1.0676E+5

Exerccio 3.17
SETS
i ordens / 1*5 / ,
j unidades / Unidade1, Unidade2 / ;

ALIAS (i, ii);

TABLE
s(i,ii) tempo de preparo para processar ii aps i
1 2 3 4 5
1 50 0 0 0 1
2 0 50 0 0 1
3 1 1 50 0 50
4 1 1 0 50 50
5 0 0 0 0 50 ;

TABLE
t(i,j) tempo para processar i em j
Unidade1 Unidade2
1 4 3
2 4 3
3 50 4
4 50 4
5 6 4 ;

PARAMETERS
d(i) data programada para entrega de i
/17
27
37
4 14
5 14 / ,

ro(i) instante de liberao da ordem i


/10
22
30
40
55/,

ru(j) instante de liberao na unidade j


/ Unidade1 0
Unidade2 2 / ;

FREE VARIABLE F ;
POSITIVE VARIABLES C(i) instante de concluso de i, C1(ii) instante de concluso de ii, A(i) Atraso da ordem i;
BINARY VARIABLES WF(i,j) processamento da ordem i em j por primeiro, W(i,j) processamento da ordem i em j, X(i,ii)
ordem ii processada aps i, W1(ii,j) processamento da ordem ii em j, WF1(ii,j) processamento da ordem ii em j por
primeiro;

EQUATIONS OBJ, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22,
R23, R24, R25, R26, R27, R28, R29, R30, R31, R32, R33, R34, R35, R36, R37, R38, R39, R40,
R41, R42, R43, R44, R45, R46, R47, R48, R49, R50;

OBJ.. F =E= sum(i, A(i));


R1.. X('1','1') =E= 0;
R2.. X('2','2') =E= 0;
R3.. X('3','3') =E= 0;
R4.. X('4','4') =E= 0;
R5.. X('5','5') =E= 0;
R6(i,j).. WF(i,j) + W(i,j) =E= 0;
R7(i).. sum(j, WF(i,j)) + sum(j, W(i,j)) - 1 =E= 0;
R8(i,j,ii).. WF(i,j) + W(i,j) - W1(ii,j) - (1 - X(i,ii)) =L= 0;
R9(j).. sum(i, W(i,j)) - 1 =L= 0;
R10(ii).. sum(j, WF1(ii,j)) + sum(i, X(i,ii)) - 1 =E= 0;
R11(i).. sum(ii, X(i,ii)) - 1 =L= 0;
R12.. -C1('1') + C('1') + (s('1','1') + t('1','Unidade1'))*W('1','Unidade1') + (s('1','1') + t('1','Unidade2'))*W('1','Unidade2')
+ 50*(X('1','1') - 1) =L= 0;
R13.. -C1('2') + C('1') + (s('1','2') + t('2','Unidade1'))*W('2','Unidade1') + (s('1','2') + t('2','Unidade2'))*W('2','Unidade2')
+ 50*(X('1','2') - 1) =L= 0;
R14.. -C1('3') + C('1') + (s('1','3') + t('3','Unidade1'))*W('3','Unidade1') + (s('1','3') + t('3','Unidade2'))*W('3','Unidade2')
+ 50*(X('1','3') - 1) =L= 0;
R15.. -C1('4') + C('1') + (s('1','4') + t('4','Unidade1'))*W('4','Unidade1') + (s('1','4') + t('4','Unidade2'))*W('4','Unidade2')
+ 50*(X('1','4') - 1) =L= 0;
R16.. -C1('5') + C('1') + (s('1','5') + t('5','Unidade1'))*W('5','Unidade1') + (s('1','5') + t('5','Unidade2'))*W('5','Unidade2')
+ 50*(X('1','5') - 1) =L= 0;
R17.. -C1('1') + C('2') + (s('2','1') + t('1','Unidade1'))*W('1','Unidade1') + (s('2','1') + t('1','Unidade2'))*W('1','Unidade2')
+ 50*(X('2','1') - 1) =L= 0;
R18.. -C1('2') + C('2') + (s('2','2') + t('2','Unidade1'))*W('2','Unidade1') + (s('2','2') + t('2','Unidade2'))*W('2','Unidade2')
+ 50*(X('2','2') - 1) =L= 0;
R19.. -C1('3') + C('2') + (s('2','3') + t('3','Unidade1'))*W('3','Unidade1') + (s('2','3') + t('3','Unidade2'))*W('3','Unidade2')
+ 50*(X('2','3') - 1) =L= 0;
R20.. -C1('4') + C('2') + (s('2','4') + t('4','Unidade1'))*W('4','Unidade1') + (s('2','4') + t('4','Unidade2'))*W('4','Unidade2')
+ 50*(X('2','4') - 1) =L= 0;
R21.. -C1('5') + C('2') + (s('2','5') + t('5','Unidade1'))*W('5','Unidade1') + (s('2','5') + t('5','Unidade2'))*W('5','Unidade2')
+ 50*(X('2','5') - 1) =L= 0;
R22.. -C1('1') + C('3') + (s('3','1') + t('1','Unidade1'))*W('1','Unidade1') + (s('3','1') + t('1','Unidade2'))*W('1','Unidade2')
+ 50*(X('3','1') - 1) =L= 0;
R23.. -C1('2') + C('3') + (s('3','2') + t('2','Unidade1'))*W('2','Unidade1') + (s('3','2') + t('2','Unidade2'))*W('2','Unidade2')
+ 50*(X('3','2') - 1) =L= 0;
R24.. -C1('3') + C('3') + (s('3','3') + t('3','Unidade1'))*W('3','Unidade1') + (s('3','3') + t('3','Unidade2'))*W('3','Unidade2')
+ 50*(X('3','3') - 1) =L= 0;
R25.. -C1('4') + C('3') + (s('3','4') + t('4','Unidade1'))*W('4','Unidade1') + (s('3','4') + t('4','Unidade2'))*W('4','Unidade2')
+ 50*(X('3','4') - 1) =L= 0;
R26.. -C1('5') + C('3') + (s('3','5') + t('5','Unidade1'))*W('5','Unidade1') + (s('3','5') + t('5','Unidade2'))*W('5','Unidade2')
+ 50*(X('3','5') - 1) =L= 0;
R27.. -C1('1') + C('4') + (s('4','1') + t('1','Unidade1'))*W('1','Unidade1') + (s('4','1') + t('1','Unidade2'))*W('1','Unidade2')
+ 50*(X('4','1') - 1) =L= 0;
R28.. -C1('2') + C('4') + (s('4','2') + t('2','Unidade1'))*W('2','Unidade1') + (s('4','2') + t('2','Unidade2'))*W('2','Unidade2')
+ 50*(X('4','2') - 1) =L= 0;
R29.. -C1('3') + C('4') + (s('4','3') + t('3','Unidade1'))*W('3','Unidade1') + (s('4','3') + t('3','Unidade2'))*W('3','Unidade2')
+ 50*(X('4','3') - 1) =L= 0;
R30.. -C1('4') + C('4') + (s('4','4') + t('4','Unidade1'))*W('4','Unidade1') + (s('4','4') + t('4','Unidade2'))*W('4','Unidade2')
+ 50*(X('4','4') - 1) =L= 0;
R31.. -C1('5') + C('4') + (s('4','5') + t('5','Unidade1'))*W('5','Unidade1') + (s('4','5') + t('5','Unidade2'))*W('5','Unidade2')
+ 50*(X('4','5') - 1) =L= 0;
R32.. -C1('1') + C('5') + (s('5','1') + t('1','Unidade1'))*W('1','Unidade1') + (s('5','1') + t('1','Unidade2'))*W('1','Unidade2')
+ 50*(X('5','1') - 1) =L= 0;
R33.. -C1('2') + C('5') + (s('5','2') + t('2','Unidade1'))*W('2','Unidade1') + (s('5','2') + t('2','Unidade2'))*W('2','Unidade2')
+ 50*(X('5','2') - 1) =L= 0;
R34.. -C1('3') + C('5') + (s('5','3') + t('3','Unidade1'))*W('3','Unidade1') + (s('5','3') + t('3','Unidade2'))*W('3','Unidade2')
+ 50*(X('5','3') - 1) =L= 0;
R35.. -C1('4') + C('5') + (s('5','4') + t('4','Unidade1'))*W('4','Unidade1') + (s('5','4') + t('4','Unidade2'))*W('4','Unidade2')
+ 50*(X('5','4') - 1) =L= 0;
R36.. -C1('5') + C('5') + (s('5','5') + t('5','Unidade1'))*W('5','Unidade1') + (s('5','5') + t('5','Unidade2'))*W('5','Unidade2')
+ 50*(X('5','5') - 1) =L= 0;
R37.. -C('1') + (0 + t('1','Unidade1'))*(WF('1','Unidade1') + W('1','Unidade1')) + (2 +
t('1','Unidade2'))*(WF('1','Unidade2') + W('1','Unidade2')) =L= 0;
R38.. -C('2') + (2 + t('2','Unidade1'))*(WF('2','Unidade1') + W('2','Unidade1')) + (2 +
t('2','Unidade2'))*(WF('2','Unidade2') + W('2','Unidade2')) =L= 0;
R39.. -C('3') + (0 + t('3','Unidade1'))*(WF('3','Unidade1') + W('3','Unidade1')) + (2 +
t('3','Unidade2'))*(WF('3','Unidade2') + W('3','Unidade2')) =L= 0;
R40.. -C('4') + (0 + t('4','Unidade1'))*(WF('4','Unidade1') + W('4','Unidade1')) + (2 +
t('4','Unidade2'))*(WF('4','Unidade2') + W('4','Unidade2')) =L= 0;
R41.. -C('5') + (5 + t('5','Unidade1'))*(WF('5','Unidade1') + W('5','Unidade1')) + (5 +
t('5','Unidade2'))*(WF('5','Unidade2') + W('5','Unidade2')) =L= 0;
R42(i).. -A(i) + C(i) - d(i) =L= 0;
R43.. WF('3','Unidade1') =E= 0;
R44.. WF('4','Unidade1') =E= 0;
R45.. W('3','Unidade1') =E= 0;
R46.. W('4','Unidade1') =E= 0;
R47.. WF1('3','Unidade1') =E= 0;
R48.. WF1('4','Unidade1') =E= 0;
R49.. W1('3','Unidade1') =E= 0;
R50.. W1('4','Unidade1') =E= 0;

MODEL Problema / ALL / ;


SOLVE Problema USING MINLP MINIMIZING F;

Anda mungkin juga menyukai