Ms Optimizing Eoq Usinggeometric Programming With Varying Fuzzy Numbers by Applying Python
Ms Optimizing Eoq Usinggeometric Programming With Varying Fuzzy Numbers by Applying Python
[email protected]
3Corresponding author, Department of Mathematics, Saveetha Engineering College, Chennai.
Abstract
The inventory management facilitates the transportation of goods from the manufacturers to the warehouses.
Minimization of the total cost incurred is the key for disciplined inventory management. In this paper we had
minimized the total cost by solving the (NLP) nonlinear problem by applying geometric programming also we
introduced analternate solution to the manual calculations, replaced by python program which reduces the efforts and
errors. To minimize the total cost of the (EOQ) Economic order quantity, the nonlinear equations are solved by using
geometric programming and the fuzzification was done by using triangular and trapezoidal fuzzy numbers followed by
two different defuzzification methods graded-mean for the antecedent and subsequent using signed-distance. Besides
numerical analysis, sensitivity analysis has been done to compare the fuzzified and crisp values.
Keywords
Economic order quantity, triangular,trapezoidal numbers, graded-mean integration method, signed-distance,Python.
1. Introduction
The innovation of Fuzzy sets in the early ‘60s by Zadeh [1] was used to describe inaccurate or indefinite in nature
which resulted in variety of applications in many disciplines. Zimmermann [2] in 1983 had extended the fuzziness in
the area of operational research. Managing inventory is essential for the trouble-free functioning of any organization.
There is a shortage cost, ordering cost, holding costs and many more that jointly constitute the total inventory cost. The
economic order quantity which was developed by Harris [3] in 1913 was a discovery to keep these costs under control.
It was in 1987 Park [4] had given a fuzzy set theoretical approach for the economic order quantity.
Geometric programming is extensively applied in operations research to solve nonlinear problems by using two
levels of programming, primal, dual for better accuracy of minimization problems. It is a powerful tool used in
engineering optimization problems where the parameters are imprecise which requires great effort to estimate the
solution. In 1960, Duffin [5] had solved cost minimization problems in geometric programming. In the year 1967,
Duffin et al [6] postulated the basic theories of GPP. Many surveys were carried out in GP and Jefferson [7] was one
among them. Zenner [8,9] introduced the cost minimization techniques for designing problems in engineering. The
parameters used under geometric programming are not bound to be fixed, which stands as a great advantage for using it
in nonlinear problems. Kochenberger [10] was the first person to solve a non-linear problem using GP. The advantages
of applying geometric programming in real-life situations were discussed by Beightler[11]. In 2006, Islam et al [12] had
developed an EPQ model under fuzzy environment that was solved by geometric programming.
Python programming is one of the most powerful and high-level programming tools. Guido van Rossum [1980]
came up with building an exceptional interfacing system. The productivity is more when compared to any other
programming language. It uses dynamic typing and allows the user to change the types of the variables used. Using
python, we can write codes in fewer steps in a more comfortable manner. The applications of this programming
language are extensively applied in web development, data science, creating prototypes of software, lot more.
2. Preliminaries
Definition 2.1: Fuzzy set [1]
Let X be a space of points (objects). A fuzzy set A in X is an object of the form A = {(x,µA(x)): x ∈ X}where µA: X →
[0,1] is called the membership function of the fuzzy set A.
Definition 2.2: Trapezoidal fuzzy number[1]
A trapezoidal fuzzy number 𝐴(𝑎1 , 𝑎2 𝑎3 , 𝑎4 ) is said to have the following membership function
596
JOURNAL OF CRITICAL REVIEWS
ISSN- 2394-5125 VOL 7, ISSUE 18, 2020
0 𝑥 < 𝑎1
𝑥 − 𝑎1
𝑎1 ≤ 𝑥 ≤ 𝑎2
𝑎2 − 𝑎1
𝜇𝐴 (𝑥) = 1 𝑎2 ≤ 𝑥 ≤ 𝑎3
𝑎4 − 𝑥
𝑎 ≤ 𝑥 ≤ 𝑎4
𝑎4 − 𝑎3 3
{ 0 𝑥 > 𝑎4
0 𝑥 < 𝑎1
𝑥 − 𝑎1
𝑎 ≤ 𝑥 ≤ 𝑎2
𝑎2 − 𝑎1 1
𝜇𝐴 (𝑥) = 𝑎3 − 𝑥
𝑎 ≤ 𝑥 ≤ 𝑎3
𝑎3 − 𝑎2 2
{ 0 𝑥 > 𝑎3
Dual program
Wmt Wmt
M
C Tm
T
Max = mt Wms
m 0 t 1 Wmt s 1Tm1
subject to,
T0
W
t 1
0t 1 , (Normality condition)
M Tm
a
m 1 t 1
mtn Wmt 0 , (orthogonality conditions)
3. Notations
𝑂 - demand
𝑄 – total delivery quantity
𝐴 𝑇 – transportation cost of unit delivery
𝐴𝐻 – inventory cost of unit product per year
𝜌 - carbon emission for unit product in inventory per year
597
JOURNAL OF CRITICAL REVIEWS
ISSN- 2394-5125 VOL 7, ISSUE 18, 2020
𝑂𝐴 𝑇 𝑄𝐴𝐻 𝐹𝜎 𝑄𝜌
Total cost = + +𝜏( + )
𝑄 2 𝑄 2
𝑂𝐴 𝑇 𝑄𝐴𝐻 𝜏𝑂𝜎 𝜏𝑄𝜌
𝑇𝐶 = + + +
𝑄 2 𝑄 2
The primal solution is given by
The degree of difficulty (DD) is 0, since two equations in two unknowns constitute a unique solution. Further
substituting 𝑣1 and 𝑣2 in equation (2), the dual function transforms into,
1 1
2 2
𝑂(𝐴 𝑇 + 𝜏𝜎) 𝑄(𝐴𝐻 + 𝜏𝜌)
𝑑(𝑣) = ( 1 ) ( 1
)
2
2 ( 2)
1 1
implies 𝑑(𝑣) = (2𝑂(𝐴 𝑇 + 𝜏𝜎))2 (𝑄(𝐴𝐻 + 𝜏𝜌)2
𝑂(𝐴 𝑇 + 𝜏𝜎)
= 𝑣1∗ 𝑑∗ (𝑣)
𝑄
𝑄(𝐴𝐻 + 𝜏𝜌)
= 𝑣2∗ 𝑑∗ (𝑣)
2𝑣2
1
2𝑂(𝐴 𝑇 + 𝜏𝜎) ( )
2
𝑄=√ 1
(𝐴𝐻 + 𝜏𝜌) ( ) 2
598
JOURNAL OF CRITICAL REVIEWS
ISSN- 2394-5125 VOL 7, ISSUE 18, 2020
Case 2:
Fuzzification is done for all the parameters obtained in the min TC by using trapezoidal fuzzy numbers and
defuzzification is carried out by applying signed-distancemethod,
𝑂̃(𝐴̃ 𝑇 + 𝜏̃ 𝜎̃) 𝑄(𝐴̃𝐻 + 𝜏̃ 𝜌̃)
𝑇𝐶 = +
𝑄 2
𝑂1 +𝑂2 +𝑂3 +𝑂4 𝐴𝑇1 +𝐴𝑇2 +𝐴𝑇3 +𝐴𝑇4 𝜏1 +4𝜏2 +𝜏3 +𝜏4 𝜎1 +𝜎2 +𝜎3 +𝜎4
( )( +( )( ))
4 4 4 4
𝑇𝐶 =
𝑄
𝐴𝐻1 +𝐴𝐻2 +𝐴𝐻3 +𝐴𝐻4 𝜏1 +𝜏2 +𝜏3 +𝜏4 𝜌1 +𝜌2 +𝜌3 +𝜌4
𝑄( 4
+ ( 4
)(
4
))
+
2
𝐴𝑇 +𝐴𝑇 +𝐴𝑇 +𝐴𝑇 𝑣1
𝑂 +𝑂 +𝑂 +𝑂 4 +(𝜏1 +4𝜏2 +𝜏3 +𝜏4 )(𝜎1 +𝜎2 +𝜎3 +𝜎4 ))
( 1 2 3 4 )( 1 2 3
4 4 4 4
Max 𝑑(𝑣) = ( 𝑣1
)
𝑣2
𝐴𝐻1 +𝐴𝐻2 +𝐴𝐻3 +𝐴𝐻4 𝜏1 +𝜏2 +𝜏3 +𝜏4 𝜌1 +𝜌2 +𝜌3 +𝜌4
𝑄( 4
+ ( 4
)(
4
))
( )
2𝑣2
𝑂1 +𝑂2 +𝑂3 +𝑂4 𝐴𝑇1 +𝐴𝑇2 +𝐴𝑇3 +𝐴𝑇4 𝜏1 +4𝜏2 +𝜏3 +𝜏4 𝜎1 +𝜎2 +𝜎3 +𝜎4
2( )( +( )( ))
4 4 4 4
𝑄=√ 𝐴𝐻1 +𝐴𝐻2 +𝐴𝐻3 +𝐴𝐻4 𝜏1 +𝜏2 +𝜏3 +𝜏4 𝜌1 +𝜌2 +𝜌3 +𝜌4
( +( )( ))
4 4 4
𝑂1 +𝑂2 +𝑂3 +𝑂4 𝐴𝑇1 +𝐴𝑇2 +𝐴𝑇3 +𝐴𝑇4 𝜏1 +𝜏2 +𝜏3 +𝜏4 𝜎1 +𝜎2 +𝜎3 +𝜎4
2( )( +( )( ))
4 4 4 4
Min 𝑇𝐶 = √ 𝐴𝐻1 +𝐴𝐻2 +𝐴𝐻3 +𝐴𝐻4 𝜏1 +𝜏2 +𝜏3 +𝜏4 𝜌1 +𝜌2 +𝜌3 +𝜌4
( +( )( ))
4 4 4
599
JOURNAL OF CRITICAL REVIEWS
ISSN- 2394-5125 VOL 7, ISSUE 18, 2020
Table 1
import math
defmainpro():
print("Enter the below values:")
O=float(input("O="))
At=float(input("At="))
tou=float(input("tou="))
si=float(input("sigma="))
Ah=float(input("Ah="))
ro=float(input("ro="))
num=2*o*(At+(tou*si))
din=(Ah+(tou*ro))
print("crisp value")
print("final value(Q)=",math.sqrt(num/din))
num=2*o*(At+(tou*si))*(Ah+(tou*ro))
print("final value(TC)=",math.sqrt(num))
print("---------------------------------------")
cheak()
defcheak():
print('''
Choose any option
press the number:-
1 -----> crisp value
2 ----->triangular fuzzy numbers- graded-mean
3 -----> trapezoidal fuzzy numbers -signed distance
4 ----->exit ''')
ch=int(input("enter a number="))
if ch==1:
mainpro()
elifch==2:
caseone()
elifch==3:
casetwo()
elifch==4 :
print("exit")
else:
print("\n")
print("invalid number........pls check........")
cheak()
Table 2
Defcaseone():
print("enter the fuzzified value:")
O1=float(input("O1="))
O2=float(input("O2="))
O3=float(input("O3="))
At1=float(input("At1="))
At2=float(input("At2="))
At3=float(input("At3="))
tou1=float(input("tou1="))
tou2=float(input("tou2="))
tou3=float(input("tou3="))
600
JOURNAL OF CRITICAL REVIEWS
ISSN- 2394-5125 VOL 7, ISSUE 18, 2020
si1=float(input("sigma 1="))
si2=float(input("sigma 2="))
si3=float(input("sigma 3="))
Ah1=float(input("Ah1="))
Ah2=float(input("Ah2="))
Ah3=float(input("Ah3="))
ro1=float(input("ro1="))
ro2=float(input("ro2="))
ro3=float(input("ro3="))
num=2*((o1+(4*o2)+o3)/6)*(((At1+(4*At2)+At3)/6)+((tou1+(4*tou2)+tou3)/6)*((si1+(4*si2)+si3)/6) )
din=(((Ah1+(4*Ah2)+Ah3)/6)+((tou1+(4*tou2)+tou3)/6)*((ro1+(4*ro2)+ro3)/6))
print("Fuzzified value using triangular with graded-mean:-")
print("final value(Q)=",math.sqrt(num/din))
num=num*din
print("final value(TC)=",math.sqrt(num))
print("-----------------------------------------------")
cheak()
Table 3
defcasetwo():
print("enter the fuzzified value:")
O1=float(input("O1="))
O2=float(input("O2="))
O3=float(input("O3="))
O4=float(input("O4="))
At1=float(input("At1="))
At2=float(input("At2="))
At3=float(input("At3="))
At4=float(input("At4="))
tou1=float(input("tou1="))
tou2=float(input("tou2="))
tou3=float(input("tou3="))
tou4=float(input("tou4="))
si1=float(input("sigma 1="))
si2=float(input("sigma 2="))
si3=float(input("sigma 3="))
si4=float(input("sigma 4="))
Ah1=float(input("Ah1="))
Ah2=float(input("Ah2="))
Ah3=float(input("Ah3="))
Ah4=float(input("Ah4="))
ro1=float(input("ro1="))
ro2=float(input("ro2="))
ro3=float(input("ro3="))
ro4=float(input("ro4="))
num=(2*(o1+o2+o3+o4)/4)*(((At1+At2+At3+At4)/4)+((tou1+tou2+tou3+tou4)/4)*((si1+si2+si3+si4)/4))
din=(((Ah1+Ah2+Ah3+Ah4)/4)+((tou1+tou2+tou3+tou4)/4)*((ro1+ro2+ro3+ro4)/4) )
print("The fuzzified value using trapezoidal-signed distance:-")
print("final value(Q)=",math.sqrt(num/din))
num=num*din
print("final value(TC)=",math.sqrt(num))
print("-----------------------------------------------")
cheak()
cheak()
601
JOURNAL OF CRITICAL REVIEWS
ISSN- 2394-5125 VOL 7, ISSUE 18, 2020
7. Numerical Discussion:
The crisp values for the parameters are taken as Wang and Ye (2018)
𝑂 = 5000, 𝐴 𝑇 = $1000 /𝑑𝑒𝑙𝑖𝑣𝑒𝑟𝑦, 𝐴𝐻 = $5 /𝑢𝑛𝑖𝑡/ 𝑦𝑒𝑎𝑟, 𝜏 = $30 /𝑡𝑜𝑛,
𝜎 = 0.4 𝑡𝑜𝑛/𝑑𝑒𝑙𝑖𝑣𝑒𝑟𝑦, 𝜌 = 0.04 𝑡𝑜𝑛/𝑢𝑛𝑖𝑡/𝑦𝑒𝑎𝑟. Variations of the fuzzy numbers and the values are systematized by
sensitivity analysis [Table 4]. A comparison between the crisp, signed-distance and graded-mean representation method
is conveyed in a pictorial format in Fig.1
602
JOURNAL OF CRITICAL REVIEWS
ISSN- 2394-5125 VOL 7, ISSUE 18, 2020
8. Conclusion:
The total cost was minimized using geometric programming technique and fuzzification was done using triangular and
trapezoidal fuzzy numbers. Signed-distance and graded-mean representation defuzzification methods were implemented
in this paper. The comparison between two defuzzification methods with varied fuzzy numbers has been executed using
python programming [Table 1,2,3] that helps us to generate the fuzzified and crisp outputs with ease. The program
helps the user to enter the fuzzified values for each method separately by asking for the options. Fig.1 compares
between the output values generated and we could see that the crisp and the generated fuzzified values are equal.
9. Futuristics:
Further, the program can be extended for a greater number of inputs of defuzzification methods with a comparisonto the
crisp values.
10. References
[1] Zadeh L.A. Fuzzy sets. Information Control.1965;8:338-353,1965.
[2] Zimmerman H.J. Using fuzzy sets in operational Research. European Journal of Operational Research 1983;
13:201-206.
[3] Harris F. Operations and cost, AW Shaw Co. Chicago.1915.
[4] Park, K.S. Fuzzy Set Theoretical Interpretation of economic order quantity. IEEE Trans. Systems Man. Cybernet
SMC.1987;17:1082-10.
[5] Duffin, R.J., Cost minimization problems treated by geometric means. Operations Research. (1962). 10(5), 668-
675.
[6] Duffin, R.J., Peterson, E.L., Zener, C.M. Geometric programming – theory and application. John Wiley, New
York. (1967).
[7] Jefferson, T.R., Scott, C.H. Avenues of geometric programming. New Zealand Operational Research. (1978). 6
109-136.
[8] Zener, C.M. A Mathematical aid in optimizing engineering design. Proceedings of the National academy of
Sciences of the United States of America. (1961) 47(4), 537-539.
[9] Zener, C.M. A further mathematical aid in optimizing engineering design. Proceedings of the National Academy of
Sciences of the United States of America. (1962) 48(4),518-522.
[10] Kochenberger, G.A. Inventory models: optimization by geometric programming. Decision Sciences. (1971).
2(2),193-205.
[11] Beightler, C.S., and Philips, D.T., Applied geometric programming. John Wiley and Sons, New York. (1976).
[12] Islam, S., Roy, T.K. A fuzzy EPQ model with flexibility and reliability consideration and demand dependent unit
production cost a space constraint: A fuzzy geometric programming approach. Applied Mathematics and
computation. (2006). 176, 240-251.
[13] Dian SetiyaWidodol, Dana MarsetiyaUtama., (2019) Analisis Model Sustainable Eonomi Order Quantity
DenganMempertimbangkanEmisiKarbon Dan BatasanKapasitasGudangUntukMenekan Total BiayaPersediaan,
Teknik, 40(3), 169-175.
603