Dear Friends,
I have solved a model in GAMS and one of the outputs is a large number and is shown exponentially (as scientific value). I have set 8 digits for showing the results, but as this variable (z1) is shown scientifically, it does not contain decimals. The model is
SCALARS r1 the manufacturer capacity utilization /0.9/
r2 the supplier capacity utilization /0.8/
q deteriorating rate which is a fraction of the on-hand inventory /0.1/
F supplier setup cost per setup /400 /
A manufacturer ordering setup cost per cycle /50/
c supplier production cost per unit /5/
s the unit price charged by the supplier to the manufacturer /10/
b backorder cost /2/
h manufacturer inventory holding cost rate excluding interest charges /0.1/
j supplier inventory holding cost rate excluding interest charges /0.1/
Is supplier opportunity cost per dollar per unit time /0.02/
Ip manufacturer opportunity cost per dollar per unit time /0.06/
Ie manufacturer interest earned per dollar per unit time /0.04/
M the manufacturer trade credit period offered by the supplier / 0.0821917808219178/
N the customer trade credit period offered by the manufacturer / 0.0410958904109589/
k constant in the manufacturer demand function representing his market scale /5000000/
e price elasticity of manufacturer demand rate which is alpha in the thesis /1.5/ ;
VARIABLES
z1 total net profit ;
POSITIVE VARIABLES
T1 production time with backorder at manufacturer’s side
T2 production time when positive stock builds up and the stock depletes due to the demand and deterioration at manufacturers side
v the unit price charged by the manufacturer to the customers ;
T1.lo = 0.01 ;
T2.lo = 0.01 ;
v.lo = 1 ;
INTEGER VARIABLES
g number of shipments from the supplier to the manufacturer per production run;
g.lo = 1;
g.up = 10;
Equations
Profit define objective function
Constraint condition for NP1
PriceConstraint constraint for price;
Profit … z1 =e= (1/((1/r1)T1+T2+(1/q)(log((1-(1/r1))exp(-qT2)+(1/r1)))))((v-s)(k*(v**(-e)))((1/r1)T1+(T2+((1/q)(log((1-(1/r1))exp(-qT2)+(1/r1))))))-A-(sh/q)(k(v**(-e)))(((1/r1)-1)T2-((1/q)(log((1-(1/r1))exp(-qT2)+(1/r1)))))-(b)((1/2)(T1**2)(k*(v**(-e)))((1/r1)-1)(1/r1))-s*(k*(v**(-e)))((1/r1)T2-(T2+((1/q)(log((1-(1/r1))exp(-qT2)+ 1/r1)))))+(vIe)((k(v**(-e))/(2r1))((M-N)2))-(sIp(k(v*(-e)))/q)(((1/r1)-1)T2-((1/q)(log((1-(1/r1))exp(-qT2)+(1/r1))))) -vIp*(1/2)(k(v**(-e)))((N(2T2+2((1/q)(log((1-(1/r1))exp(-qT2)+(1/r1))))-N))+N(T1+N-M)(1/r1))+(s-c)((k*(v**(-e))/r1)(T1+T2))-F/(g)- c(j+Is)(((k(v**(-e)))/r1)((1/r1)T1+T2+(1/q)(log((1-(1/r1))exp(-qT2)+(1/r1))))(T1+T2)(r2(1-(g/2))+((g-1)/2)))-sIs((k*(v**(-e))/r1)*(T1+T2)*M)) ;
Constraint … M =l= T1 ;
PriceConstraint … v =g= s ;
MODEL NetProfit /ALL/ ;
SOLVE NetProfit USING MINLP MAXIMIZING z1 ;
option decimals=8;
Display z1.l;
Display T1.l, T2.l, v.l, g.l;
and the display is
---- 50 VARIABLE z1.L = 8.536778E+5 total net profit
---- 51 VARIABLE T1.L = 0.08219178 production time with
backorder at manufact
urer’s side
VARIABLE T2.L = 0.01000000 production time when
positive stock builds
up and the stock depl
etes due to the deman
d and deterioration a
t manufacturers side
VARIABLE v.L = 15.18408282 the unit price charge
d by the manufacturer
to the customers
VARIABLE g.L = 3.00000000 number of shipments f
rom the supplier to t
he manufacturer per p
roduction run
I have searched a lot and found that with .nd, the number of digits can be increased, but I do not know how to use it in the model. Moreover, I am not sure whether it solves my problem or not and i think the best way is showing z1 by non-scientific values.
I would highly appreciate it if somebody can help me to show z1 more precisely.
I would be looking forward to hearing your kind response.
Best regards.
–
Thesis- NP1- GAMS.gms (3 KB)