Тээрмийн хамгийн гадна давхрагын бөөрөнцөгийн хөдөлгөөний траектори, тасрах өнцөг, мөн унах байршлыг янз бүрийн эргэлийн хурданд (75%, 80%, 87%) тооцож хөдөлгөөнт зургаар үзүүлллээ..
Wednesday, June 5, 2019
Баяжуулагч инженерүүдэд зориулсан Python N9 (Python for Mineral Processing Engineers)
Тээрмийн хамгийн гадна давхрагын бөөрөнцөгийн хөдөлгөөний траектори, тасрах өнцөг, мөн унах байршлыг янз бүрийн эргэлийн хурданд (75%, 80%, 87%) тооцож хөдөлгөөнт зургаар үзүүлллээ..
Tuesday, June 4, 2019
Баяжуулагч инженерүүдэд зориулсан Python №8 (Python for Mineral Processing Engineers)
Нүүрс баяжуулах үйлдвэрийн тэжээлийн нүүрсний оновчтой
хольцийг (шихта)
тогтоох нь
Нүүрс баяжуулах үйлдвэрийн (НБҮ) технологийн үзүүлэлт анхдагч нүүрсний чанараас ихээхэн
хамаардаг бөгөөд хэд хэдэн уурхай, эсвэл мөргөцөг ашигладаг ихэнх уурхайд
чанарын холилт (шихт) хийдэг.
НБҮ-ийн тэжээлийн
чанарын холилтыг ухаалагаар хийх нь үйлдвэрийн үр ашгийг дээшлүүлэх, технологийн
үзүүлэлтүүдийг оновчлох нэг арга зам бөгөөд тэжээлийн оновчтой холилтын тооцоог
математикийн аргуудаар тооцдог.
Иймэрхүү оновчлолын бодлогыг бодоход математикийн шугаман
программчлалын (ШП) аргыг хэрэглэдэг
бөгөөд ба олон хэмжигдэхүүнтэй үед ердийн аргаар (симплекс арга, М-арга) бодоход цаг хугацаа их шаарддагаас гадна жаахан
төвөгтэй.
Харин инженерийн бэлэн пакетууд гарч ирснээр шугаман
программчлалыг практикт хэрэглэх хялбар болж байгаа юм. Ийм пакетын нэг нь Python-ы PuLP
бөгөөд энэ пакетыг ашиглан НБҮ-ын тэжээлийг оновчтой
холилтыг хэрхэн шийдэхийг авч үзье.
Бодлого 1. НБҮ-т хэд хэдэн уурхайгаас (1, 2, 3) нүүрс боловсруулж байгаа ба технологийн туршилтаар 1-р уурхайн нүүрсний баяжмалын гарц
γ1=55%,
түүний үнслэг – A1 =
12%, 2-р уурхайн нүүрсний баяжмалын гарц γ2=75%,
түүний үнслэг – A2 = 8.5%, 3-р уурхайн нүүрсний баяжмалын гарц – γ3=65%,
түүний үнслэг – A3=9% байсан бол НБҮ-ийн баяжмалын үнслэг ≤9%
байх нөхцөлөөр хамгийн
их баяжмалын гарцыг хангах холилтын тооцоог хийх. Үүнд: НБҮ-ийн хоногийн
бүтээл 5000 т ба уурхайнуудын нүүрс гаргах хязгаарууд:
500 ≤ Q1 ≤ 1000
1000 ≤ Q2≤ 5000
1000 ≤ Q3 ≤ 2000
БОДОЛТ:
Энэхүү
бодлогын тавилыг дараах байдлаар бичиж болох ба PulP пакетыг ашиглаж бичсэн кодыг доор үзүүлэв.
500 ≤ Q1 ≤ 1000
1000 ≤ Q2≤ 5000
1000 ≤ Q3 ≤ 2000
#Нvvрсний
хольцийг шугаман програмчлалын аргаар тогтоох
import
numpy as np
Q=np.array([0.,0.,0.])
#
Conc. Yield by mine
Y=[55,75,65]
#Ash
content in Concentrate
A=[14,7.5,9]
G=np.asarray(Y)
A=np.asarray(A)
Az=8.5
Qtotal=5000
prob=LpProblem("Coal_Mix",
LpMaximize)
Q1=LpVariable("Q1",500,1000)
Q2=LpVariable("Q2",1000,5000)
Q3=LpVariable("Q3",1000,2000)
prob=LpProblem("Coal_Mix",
LpMaximize)
prob+=Y[0]/100*Q1+Y[1]/100*Q2+Y[2]/100*Q3
prob+=Q1+Q2+Q3==Qtotal
prob+=(A[0]*Q1+A[1]*Q2+A[2]*Q3)<=Az*Qtotal
prob.writeLP("Coal_Mix.lp")
prob.solve()
print("Status:",
LpStatus[prob.status])
i=0
for v
in prob.variables():
Q[i]= v.varValue
print(v.name, "=", v.varValue)
i+=1
Aopt=sum(Q*A)/sum(Q)
print("Conc.
Ash= ",Aopt)
Энэхүү бодлогын
оновчтой шийд нь:
Q1=500 тн
Q2=3500 тн
Q3=1000 тн
болох ба НБҮ -ын баяжмалын оновчтой гарц – γ= 71% баяжмалын
чанар A=8.5% болохыг амархан
шалгаж болно.
Бодлого 2. НБҮ-т хэд хэдэн уурхайгаас (1, 2, 3) нүүрс боловсруулж байгаа ба уурхай 1
–ын
олборлолт, тээврийн зардал – z1=-2500₮/т , уурхай 2 –ынх z2=3500₮/т, уурхай 3 –ынх z3=2250₮/т
тус тус ба 1-р уурхайн нүүрсний үнслэг - A1 = 34%, 2-р уурхайнх – A2 =21%, 3-р уурхайнх – A3 =28% байгаа бол НБҮ-т орох тэжээлийн нүүрсний үнслэг 25%
байх нөхцөлөөр хамгийн
бага зардалтайгаар холилтын тооцоог хийх. Үүнд: НБҮ-ийн хоногийн бүтээл ба
уурхайнуудын нүүрс гаргах хязгаарууд дээрх бодлоготой адил.
500 ≤ Q1 ≤ 1000
1000 ≤ Q2≤ 5000
1000 ≤ Q3 ≤ 2000
БОДОЛТ:
Оновчлолын бодлогын тавил:
#Нvvрсний хольцийг шугаман програмчлалын аргаар тогтоох
Q=np.array([0.,0.,0.])
# Mining & Transportation cost by mine
z=[2500,3250,2250]
#Ash content in Feed
A=[34,21,28]
z=np.asarray(C)
A=np.asarray(A)
Az=25
Qtotal=5000
prob=LpProblem("Coal_Mix", LpMaximize)
Q1=LpVariable("Q1",500,1000)
Q2=LpVariable("Q2",1000,5000)
Q3=LpVariable("Q3",1000,3000)
prob=LpProblem("Coal_Mix", LpMinimize)
prob+=z[0]/100*Q1+z[1]/100*Q2+z[2]/100*Q3
prob+=Q1+Q2+Q3==Qtotal
prob+=(A[0]*Q1+A[1]*Q2+A[2]*Q3)==Az*Qtotal
prob.writeLP("Coal_Mix.lp")
prob.solve()
print("Status:", LpStatus[prob.status])
i=0
for v in prob.variables():
Q[i]= v.varValue
print(v.name,
"=", np.round(v.varValue,0))
i+=1
Aopt=sum(Q*A)/sum(Q)
print("Feed Ash= ",Aopt)
Энэхүү бодлогын оновчтой шийд нь
Q1=500 тн
Q2=2571 тн
Q3=1929 тн
болох ба НБҮ -ын тэжээлийн үнслэг =25% болохыг
амархан шалгаж болно.
Энэ мэтчилэнгээр
өөрсдийн уурхайн хувьд уурхай шугаман программчлалыг ашиглан уурхай болон НБҮ-ийн үйл ажиллагааг оновчлож болно.
Subscribe to:
Posts (Atom)