نوع مقاله : علمی - پژوهشی
نویسندگان
1 استخراج معدن، مهندسی معدن و متالوژی، دانشگاه صنعتی امیرکبیر، تهران، ایران
2 دانشگاه صنعتی امیرکبیر
چکیده
کلیدواژهها
موضوعات
عنوان مقاله [English]
نویسندگان [English]
In the past, various methods have been proposed to determine the ultimate pit limit. Among the methods, can be pointed out artificial intelligence-based methods such heuristic algorithms, genetic, ants and colony competition. Artificial bee colony (ABC) algorithm is one of the most powerful heuristic algorithms inspired by the cumulative life of bees. In this paper, first, a hypothetical example of the life of the bees was described to find the source with the highest number of nectar by this algorithm. Then, a method based on the bee algorithm is proposed to determine the ultimate pit limit, and to examine its performance, a two-dimensional example is described step by step. In this example, it was found where in cases, the moving cone can not find the optimal solution for determining the ultimate pit limit, the ABC is well suited for its solution.Then, this algorithm was used to determine the ultimate limit of Sungun mine with a number of 120*100*45 blocks. To validate the problem solving of determining the ultimate limit using the ABC algorithm, graph theory and moving cones was used. The results show that the difference in income from the determination of the ultimate pit limit using the ABC algorithm from the moving cone and the graph theory is 1.6% and 12.3%, respectively.
کلیدواژهها [English]
تعیین محدودهنهایی معادن روباز با استفاده از الگوریتم زنبور عسل
ابراهیم نوروزی قالینی1، مجید عطایی پور2[*]
1کارشناس ارشد استخراج معدن، دانشگاه صنعتی امیرکبیر، Ebrahim.noroozi@aut.ac.ir
2دانشیار دانشکده مهندسی معدن و متالورژی، دانشگاه صنعتی امیرکبیر،map60@aut.ac.ir
(دریافت: 30-02-1397، پذیرش: 14-09-1397)
چکیده
در گذشته برای تعیین محدوده نهایی معدن از روشهای گوناگونی استفاده شده است. از جمله این روشها میتوان به روشهای مبتنی بر هوش مصنوعی مانند الگوریتمهای فراکاوشی ژنتیک، مورچگان و رقابت استعماری اشاره کرد. الگوریتم زنبور عسل یکی از الگوریتمهای قدرتمند فراکاوشی است که از زندگی تجمعی زنبورها الهام گرفته شده است. در این مقاله ابتدا یک مثال فرضی از زندگی زنبورها برای یافتن منبعی با بیشترین میزان شهد با این الگوریتم شرح داده شد، سپس روشی بر اساس الگوریتم زنبور عسل برای تعیین محدوده نهایی معدن پیشنهاد و برای بررسی عملکرد آن ابتدا یک مثال دو بعدی به صورت مرحله به مرحله توضیح داده شد. این مثال نشان داد مواردی را که مخروط شناور قادر به یافتن جواب بهینه برای تعیین محدوده نهایی معدن نیست، میتوان با الگوریتم زنبور عسل به خوبی حل کرد. سپساز این الگوریتم برای تعیین محدوده نهایی در معدن سونگون با بلوک 45×100×120 استفاده شد. برای اعتبارسنجی پاسخ مساله تعیین محدوده نهایی با استفاده الگوریتم زنبور عسل، از نظریهگراف و مخروط شناور استفاده شد.نتایج نشان میدهد که اختلاف نقدینگی محدوده به دست آمده از طریق الگوریتم زنبور عسل حدود 3/12 درصد از محدوده مخروط شناور بیشترو تنها 6/1 درصد از محدوده نظریهگراف کمتراست.
واژههای کلیدی
محدوده نهایی معدن، الگوریتم زنبور عسل، نظریهگراف، مخروط شناور.
روشهای استخراج معدن به دو دسته کلی روشهای استخراج روباز و زیرزمینی تقسیم میشوند. روشهای نواری، کواری و روباز از مهمترین روشهای استخراج معادن روبازند. پس از اکتشاف یک ذخیره در صورت انتخاب روش استخراج روباز برای بهرهبرداری از آن،باید محدوده نهایی معدن[2] تعیین شود. هدف از طراحیمحدوده نهایی معدن تعیین پارامترهایی مانندمیزان گسترش طولی، عرضی و عمقی معدن، مسیرهای دسترسی به ماده معدنی، محل دپوی باطله، محل احداث تاسیسات سطحی، نسبت باطلهبرداری، عمر معدن، میزان ذخیره قابل استخراج به روش روباز، میزان باطلهبرداری و نحوه برنامهریزی تولید است.
برای تعیین محدوده نهایی معدن میتوان از روشهای دستی یا رایانهای استفاده کرد. در روش دستی از مفهوم ارزش سربهسری و صفر کردن ارزشدر مرزهای محدوده نهایی استفاده میشود. طراحی محدوده نهایی با روشهای دستی زمانبر است و طراحی به این روش نیازمند مهندسان و طراحان باتجربه است. همچنین این روش تنها در کانسارهای کوچک قابل کاربرد است.روشهایکامپیوتری بر استفاده از مدل بلوکی مبتنی است. در این روشها ابتدا کانسار به بلوکهای کوچکتر تقسیم شده و سپس عیار بلوکها با یکی از روشهای تخمین عیار مانند زمین آمار یا عکس فاصله تخمین زده میشود. پس از تهیه مدل بلوکی عیاری[3] با استفاده از قیمت مادهمعدنی و هزینهها مدل بلوکی اقتصادی[4] معدن تهیه میشود. در مدل بلوکی اقتصادی ارزش بلوکها ممکن است مثبت، منفی یا صفر باشد و ارزش بلوکهای هوا در بالای توپوگرافی صفر در نظر گرفته میشود.محدوده بهینه[5] واقعی، محدودهای است که سود حاصل از آنمحدوده اولا مثبت است و ثانیا از بین مثبتهای ممکن، بیشینه مقدار را دارد. روشهای کامپیوتری به دو دسته کلی روشهای مبتنی بر منطق ریاضی[6] و روشهای جستجوگر تقسیم میشوند. روشهای مبتنی بر منطق ریاضی همواره قادر به یافتن محدوده بهینهاند اما در حل مسایل بزرگ محدودیت دارند و برای حلمسایل بزرگ به زمان بسیار طولانی نیاز دارند. از جمله روشهای ریاضی میتوان بهبرنامهریزی پویا[7][1-3]، لرچ و گروسمن مبتنی بر نظریه گراف[8][4]، سیمپلکس دوگان[9][5]، الگوریتم حمل و نقل[10][6] و جریان شبکه[11][7] اشاره کرد.برای رفع این محدودیت محققان از سالها پیش به دنبال یافتن روشهایی برای حل مسایل با زمان کوتاهتر بودهاندکه الگوریتمهای جستجوگر نتیجهپژوهشها در این حوزه است. با این الگوریتمها مسایل در زمانی معقول و با دقت قابل قبول حل میشوند[8, 9]. الگوریتمهای جستجوگر را میتوان به دو دسته الگوریتمهای کاوشی[12] و فراکاوشی[13] تقسیم کرد. از جمله الگوریتمهای کاوشی میتوان به مخروط شناور[14][10]، مخروط شناور II[11]، کروبوف[15][12]و کروبوف اصلاح شده[13]اشاره کرد. از جمله الگوریتمهای فراکاوشی استفاده شده برای تعیین محدوده نهایی معدن میتوان الگوریتمهای ژنتیک[16][14]، کلونی مورچگان[17][15] و رقابت استعماری[18][16]را نام برد.
در سالهای اخیر استفاده از هوش مصنوعی[19] در بسیاری از مسایل مهندسی متداول شده است. الگوریتمهای بهینهسازی فراکاوشی زیر شاخه هوش مصنوعیاند والگوریتم زنبور عسل یکی از الگوریتمهای مبتنی بر هوش جمعی[20] است. الگوریتمهای کلونی زنبور مصنوعی[21][17]، بهینهسازی کلونی زنبور[22][18]، بهینهسازی ازدحام زنبور[23][19]، زنبور مجازی[24][20] و الگوریتم زنبورها[25][21] از جمله الگوریتمهایالهام گرفته از زندگی اجتماعی زنبورهای عسلاند. الگوریتم بهینهسازی جفتگیری زنبور عسل[26][22] نیز بر اساس رفتار جفتگیری زنبورها توسعه یافته است. الگوریتمABC اولین بار توسط کارابوگا[27]ارایه شد[17]. در این مقاله از این الگوریتم برای تعیین محدوده نهایی معدن استفاده شده است. پس از اوافراد زیادی برای بهبود این الگوریتم تلاش کردند که از نسخههای بهبود یافته آن میتوان به I-ABC، G-ABC،ABC-SA، PABC، CABC اشاره کرد[23-27][21]. برخی از نویسندگان برای افزایش کارآیی الگوریتم زنبور عسل از تلفیق آن با سایر الگوریتمها استفاده کردهاند. از جمله این تلاشها میتوان به تلفیق الگوریتم زنبور عسل با الگوریتمهای سیمپلکس[28][28]، ژنتیک[29]، مورچگان[30] و تکامل تفاضلی[29][31] اشاره کرد. همچنین تلاشهایی برای افزایش سرعت همگرایی[30] الگوریتم در حل مسایل بزرگ انجام شده است[32, 33]. بر اساس یک تحقیق در سال 2014 از بین مقالات ارایه شده در مورد الگوریتم زنبور، 58 درصد موارد باالگوریتم کلونی زنبور مصنوعی سروکار داشتهاند[34].
از الگوریتم زنبور عسل در حل بسیاری از مسایل مهندسی، صنعتی و ریاضی مانندبهینهسازی مکان حفر چاهها در مخازن نفتی[35]، بهینهسازی تخلیه آب از سدها[36]، خوشهبندی دادهها[37]، زمانبندی کار ماشینها[38]، خطایابی تصادفی نیروگاه اتمی[39]و از تلفیق آن با شبکههای عصبی مصنوعی در پیشبینی فشار انتهای چاه بههمراه شبکه [40] استفاده شده است. از جمله معدود موارد کاربرد این الگوریتم در معدن، پیشبینی و بهینهسازی عقبزدگی[31] ناشی از انفجار در معادناست[41].
در این مقاله کاربرد الگوریتم زنبور عسل برای حل مساله تعیین محدوده نهایی تشریح شده است. پس از شرحی کلی بر الگوریتم زنبور عسل و حل یک مثال فرضی از زندگی زنبورها با استفاده از آن،مراحل الگوریتم برای حل مساله محدوده نهایی تشریح و یک روندنما[32] برای تعیین محدوده نهایی معدن ارایه شده است. سپس روند حل الگوریتم بر روی یک مدل دو بعدی نشان داده شده و برای اعتبارسنجی عملکرد الگوریتم در مقیاس واقعی، الگوریتم در محیط نرمافزار Matlab بر روی یک معدنسونگونپیادهسازی و نتایج آن با نتایج به دست آمده از نظریه گراف مقایسه شده است.
زنبورها بهصورت جمعی زندگی میکنند. هر یک از این حشرات به تنهایی یک جزو ساده است که در کنارهم یک کلونی زنبور را تشکیل میدهند که رفتاری منسجم و پیچیده دارد. این رفتار منسجم و پیچیده باعث ایجاد سیستمی یکپارچه میشود که توانایی کشف و بهرهبرداری از شهد گلها را دارد. اعضای یک کلونی زنبور عسل ممکن است در مسافتهای زیاد و در جهتهای گوناگونی پخش شوند و از منابع غذایی بهرهبرداری کنند. هر کلونی زنبور از سه دسته زنبور تشکیل میشود کههر یک از این دستهها وظایفی معینی را بر عهده دارند. زنبورهای پیشآهنگ[33]اولین دستهاندکهحدود 5 تا 10 درصد کلونی را تشکیل میدهند. وظیفهزنبورهای پیشآهنگ کشف منابع جدید است. این زنبورها به صورت تصادفی در محیط اطراف کندو پخش میشوند و به جستجوی غذا میپردازند.زنبورهای پیشآهنگپس از برگشت به لانه در یک رقص چرخشی[34] اطلاعات خود را با سایر زنبورهای درون کندو به اشتراک میگذارند و تعدادی از آنها را برای بهرهبرداری از منبع کشف شده استخدام میکنند. زنبورهای کارگر[35]که حدود نیمی از یک کندو را به خود اختصاص میدهند، دومین دسته را تشکیل میدهند. وظیفهاین دسته از زنبورها استخراج منابع غذایی از پیش مشخص شده است. زنبورهای ناظر[36]سومیندسته از زنبورهای درون یک کندو را تشکیل میدهند. این زنبورها در درون کندو منتظر سایر زنبوها میمانند و پس از تبادل اطلاعات در رقص چرخشی یک منبع غذایی را که غنیتر از سایر منابع است، انتخاب و از آنبهرهبرداری میکنند. این زنبورها بر اساس شایستگی منابع غذایی به آنها اختصاص مییابند و منابع شایستهتر زنبور بیشتریرا جذب میکنند. به بیان سادهتر زنبور عسل ناظر زنبوریاست که در منطقه رقص منتظر سایر زنبورها برای کسب اطلاعات در مورد منابع غذایی میماند و در نهایت یکمنبع را انتخاب میکند. زنبور عسل کارگر زنبوری است که به طرف منابع غذایی ازپیش مشخص شده میرود و زنبورعسل پیشآهنگ زنبوری است که بهصورت تصادفی به جستجوی غذا میپردازد.
در الگوریتم زنبور عسل، ابتدا نیمی از جمعیت زنبورها کارگر و نیمدیگر غیرکارگرند. برای هرمنبع غذایی فقط یک زنبورعسل کارگر وجود دارد،بنابراین تعداد زنبورهای کارگر با تعداد منابع غذایی اطراف کندو برابراست. زنبورهای کارگری که منابع آنها به وسیله زنبورهای ناظر و دیگر زنبورهای کارگر تهیه شده باشد به زنبورهای پیش آهنگ تبدیل میشوند. گامهای اصلی الگوریتم زنبور بهشرح زیر است[42]:
- مقداردهی اولیه
- تکرار (تا رسیدن به وضعیت دلخواه)
- ارسال زنبورهای کارگر به منابع غذایی
- ارسال زنبورهای ناظر به منابع غذایی
- ارسال زنبورهای پیشآهنگ برای جستجوی منابع غذایی جدید
در مرحله مقداردهی اولیه مجموعهای از منابع غذایی بهصورت تصادفی به وسیله زنبورهای کارگر انتخاب و مقدار شهد آنها اندازهگیری میشود. زنبورهای کارگر پس از برگشت به کندو، اطلاعات حاصل از منابع غذایی را در منطقه رقص اطراف کندوبا زنبورهای ناظربه اشتراک میگذارند. در مرحله دوم هر زنبور کارگر پس از تبادل اطلاعات، به منبع غذایی که در چرخه قبل مشاهده کرده است باز میگردد و یک منبع غذایی جدید را در اطراف منبع غذایی موجود انتخاب میکند. در مرحله سوم زنبورهای ناظر یک منبع غذایی را بر اساس اطلاعات به اشتراک گذاشته شده به وسیله زنبورهای کارگر در منطقه رقص،انتخاب میکنند. با افزایش میزان شهد منبع غذایی، احتمال انتخاب این منبع، توسط زنبورهای ناظر نیز افزایش مییابد. بنابراین زنبورهای رقصان با میزان شهد بیشتر، زنبورهای ناظر بیشتری را برای بهرهبرداری از آن منابع استخدام میکنند. یک زنبور ناظر پس از انتخاب یک منطقه برای بهرهبرداری، به سوی آن حرکت میکند و پس از رسیدن به منطقه بر اساس اطلاعات بصری یک منبع غذایی جدید را در اطراف آن منبع انتخاب میکند. اطلاعات بصری بر مقایسه مکان منابع غذایی مبتنی است. در مرحله چهارم منابع غذایی که شهد آنها به وسیله سایر زنبورها تهی شده است، به صورت تصادفی توسط زنبورهای جستجوگر جایگزین میشوند. در این الگوریتم تعداد زنبورهای کارگر و زنبورهای ناظر در یک کندو برابر خواهد بود. در الگوریتم زنبور عسل، مکان منبع غذایی نشاندهنده یک جواب ممکن برای مساله بهینهسازی است، همچنین میزان شهد منبع غذایی نشاندهنده کیفیت (شایستگی) آن است. تعداد زنبورهای کارگر و یا ناظر برابر با تعداد جمعیت راهحلها است. در مرحله ابتدایی تعداد SN راهحل به صورت تصادفی در فضای جواب تولید میشود. هر راهحل یک (منبع غذایی) xi،i=(1,2,…,SN)است که یک بردار D بعدی است، وD تعداد پارامترهای بهینهسازی است. پس ازمقداردهی اولیه چرخه تکرارها شروع میشود. C=(1,2,…,Cmax)فرآیند چرخه برای زنبورها است، Cتعداد عدم بهبود جواب در چرخه است. یک زنبور به صورت تصادفی یک اصلاح بر روی مکان منبع غذایی (جواب) موجود در حافظه خود ایجاد میکند و میزان شهد (مقدار شایستگی) منبع جدید (جواب جدید) را تحت آزمایش قرار میدهد. در مورد زنبورهای واقعی، برای تولید جواب جدید از اطلاعات موجود و بصری زنبور استفاده میشوداما در مورد زنبورهای مصنوعی از هر اطلاعاتی برای مقایسه استفاده نمیشود و بهبودفقط به صورت تصادفی با استفاده از رابطه 2 و یکی دیگر از جوابها انجام میگیرد. در صورتیکه مقدار شهد منبع جدید بیشتر از منبع قبلی ذخیره شده در حافظه زنبور عسل باشد، موقعیت جدید حفظ و موقعیت قبلی فراموش و در غیر این صورت موقعیت قبلی نگهداریمیشود. زنبورهای کارگر پس از تکمیل فرآیند جستجو، اطلاعات شهد منابع غذایی (راهحل) و اطلاعات مربوط به موقعیت آنها را با زنبورهای ناظر در منطقه رقص به اشتراک میگذارند. یک زنبور ناظر با ارزیابی اطلاعات شهد گرفته شده از همه زنبورهای کارگر، یک منبع غذایی را با احتمال مربوط به مقدار شهد آن منبع انتخاب میکند. زنبورکارگر نیز اصلاحی را در موقعیت (راهحل) موجود در حافظه خود انجام میدهد و مقدار شهد منبع داوطلب (راهحل) را بررسی میکند. اگرمیزان شهد بیشتر از منبع قبلی باشد آن را جایگزین و منبع پیشین را فراموش میکند. زنبور ناظر یک منبع غذایی را با توجه به مقدار احتمال مرتبط با آن منبع غذایی که از رابطه 1 بهدست میآید، انتخاب میکند[42].
(1) 12pi=fitin=1SNfitn">
که در آن:
pi احتمال انتخاب زنبور i
fiti میزان شایستگی راهحل i
SN تعداد منابع غذایی
در این الگوریتم، زنبورهای کارگر اطلاعات خود را با زنبورهای ناظر به اشتراک میگذارندو زنبورهای ناظر با استفاده از این اطلاعات یک منبع غذایی جدید را در اطراف منبع غذایی قبل انتخاب میکنندو برای تولید منبع غذایی جدید در اطراف منبع فعلی از رابطه 2 استفاده میشود[42].
(2) 12vi=xi+φixi-xkkϵ1, 2, . . . ,BN&k≠i">
که در آن:
vi جواب جدیدی در اطراف جواب xi
xi جواب i برای مساله بهینهسازی
Kشماره یکی دیگر از جوابها کهبهصورت تصادفی انتخاب میشود و مقدار آن باید از i متمایز باشد.
φi یک بردارD عضویاست که هر کدام از درایههای آن عددی تصادفی بین 12[-1,1]"> است و تولید موقعیت منبع غذایی همسایه در اطراف xi را کنترل میکند.
xk جوابی تصادفی از بین SNجواب برای مساله که با استفاده از آن جوابی جدید در اطراف xi ایجاد میشود.
رابطه 2 نشان میدهد با کاهش تفاوت بین xi و xk تغییرات در موقعیت xiکاهش مییابد. با توجه به مکانیزم انتخاب حریصانه (انتخاب جواب با ارزش بیشتر از بین دو جواب)به تدریج جوابها به بیشینه ارزش همگرا شده و فاصله بین جوابها کاهش پیدا میکند.
منبع غذایی که شهد آن به وسیله زنبورها تهی شده است، توسط زنبورهای پیشآهنگ با یک منبع ماده غذایی جدید جایگزین میشود. در الگوریتم زنبورعسل این عمل با تولید جواب جدید به صورت تصادفی شبیهسازی شده و جایگزین منبع تهی شده میشود. در این الگوریتم اگر یک جواب پس از یک تعداد تکرار از پیش تعیین شدهبهبود نیابد،بهعنوان منبع غذایی ترک شده تلقی میشود.
پس از ایجاد هر جواب جدید vi شایستگی این جواب توسط زنبور مصنوعی محاسبه شده و اگر شایستگی آن برابر یا بیشتر از جواب xi باشد، جایگزین آن میشود. به عبارت دیگر، عمل انتخاب بین منابع غذایی قبلی و فعلی با یک مکانیزم انتخاب حریصانهانجام میشود. الگوریتم زنبور عسل در حقیقت چهار فرآیند انتخاب مختلف را به کار میگیرد:
- یک فرآیند انتخاب سراسری که به وسیله زنبور ناظر برای کشف مناطق امیدبخش از آن استفاده میشود، این فرآیند با رابطه 1 توضیح داده میشود.
- یک فرآیند انتخاب محلی بر اساس اطلاعات آن ناحیه برای زنبورهای کارگر و ناظر (برای زنبورهای واقعی اطلاعاتی مانند رنگ، شکل و عطر گل) که از آن برای تعیین یک منبع غذایی در اطراف منبع غذایی قبل استفاده میشود و بر اساس رابطه 2 بیان میشود.
- فرآیند انتخاب حریصانهمحلی که به وسیله تمام زنبورها انجام میشود و طیآن اگر مقدار شهد منبع کاندیدا بیشتر از منبع فعلی باشد، زنبور منبع فعلی را فراموش کرده و منبع کاندیدا را حفظ میکند و در غیر این صورت، زنبور منبع فعلی را در حافظه نگه میدارد.
- یک فرآیند انتخاب تصادفی که به وسیله زنبور پیشآهنگ انجام میشود.
در الگوریتم زنبور عسل سه پارامتر کنترلی تعداد منابع غذایی(SN) که با تعداد زنبورهای کارگر یا زنبورهای ناظر برابر است،تعداد عدم موفقیت در بهبود جواب (limit) وحداکثر تعداد چرخه([37]MCN)وجود دارد.
در مورد زنبور عسل واقعی سرعت استخدام زنبورهای ناظر پارامتری برای نشان دادن سرعت کشف و بهرهبرداری از منابع غذایی جدید است. به طور مشابه استخدام زنبورهای مصنوعی جدید سرعت اکتشاف راهحلهای ممکن و با کیفیت خوب را نشان میدهد. بقا و پیشرفت کلونی زنبور عسل به کشف سریع و استفاده کارآمد از بهترین منابع غذایی بستگی دارد. همچنین، راه حل درست مسایل دشوار مهندسی،بهویژه مسایلی که باید در زمان واقعی حل شود، به کشف سریع راهحلهای خوب وابسته است. در یک فرآیند جستجوی قوی، فرآیندهای اکتشاف و بهرهبرداری باید باهم انجام شود. در الگوریتم زنبورعسل، در حالی که زنبورهای کارگر و ناظر فرآیند بهرهبرداری در فضای جستجو را انجام میدهند، زنبورهای پیشآهنگ فرآیند اکتشاف را کنترل میکنند.
3-1- مثال
برای تشریح بیشتر الگوریتم زنبور عسل، یک مثال از زندگی زنبورها با استفاده از این الگوریتم حل میشود. در این مساله هدف یافتن نقطهای از طبیعت با بیشینه میزان شهد استفاده شده است. به عنوان مثال در یک محدوده انتخاب شده از طبیعت، میزان شهد گلها با استفاده از رابطه 3 قابل محاسبه است. در این مثال محدوده جستجو α =[0,3] و β =[0,5] در نظر گرفته شده و نمودار میزان شهد در این بازه در شکل 1 نشان داده شده است. حل این مساله به صورت مرحله به مرحله مطابق با آنچه در الگوریتم توضیح داده شد، ارایهمیشود.
(3) V= -sin(α).cos(β)
که در آن:
α عددی برحسب رادیان در بازه[0,3]
β عددی برحسب رادیان در بازه[0,5]
Vمیزان شهد هر منبع مفروض
شکل1-نمودارپراکندگیشهدبررویمحدوده.
3-1-1- مرحله اول
در مرحله اول منابع اولیه ایجاد میشود. منابع اولیه مختصات نقاطی تصادفی بر روی محدوده مورد بررسی است. بنابراین هر منبع اولیه برداری با دو مولفهمختصاتی در جهت افقی (α) و عمودی (β) است. برای این مثال سه منبع اولیه در نظر گرفته میشود که هر کدام از آنها نقطهای را بر روی سطح زمین و در درون محدوده مورد بررسی بازنمایی میکنند. برای این سه منبع اولیه به شرح روابط 4 تا 6 است:
12x1=1.50.25V1=-sin1.5.cos0.25=-0.9665">
12x2=2.54.5V2=-sin2.5.cos4.5=0.2670">
12x3=0.723.41V3=-sin0.72.cos3.41=0.6358">
3-1-2- مرحله دوم
به تعداد منابع، زنبورهای کارگر وجود دارد. در این مرحله هر یک از این زنبورهای کارگرمنبع غذایی جدیدی را در اطراف منبع غذایی موجود جستجو میکند.این عمل در الگوریتم با استفاده از رابطه 2به صورت تصادفی انجام میشود. پس از کشف منبع جدیدمیزان شهد این منبع محاسبه میشود. اگر میزان شهد منبع جدید بیش از منبعپیشینباشد، منبع جدید جایگزین جواب قبل میشودولی اگر میزان شهد این منبعکمتر باشد،منبع باید جریمه شود. جریمه بدین معنی است که یک واحد به شمارندهCکه برای هر منبع غذایی ایجاد شده است، اضافه میشود. اگر شمارنده جریمه یک منبع غذاییاز یک حد از پیش تعیین شده (در این مثال 5) فراتر رود، این منبع با منبعی تصادفی در محدوده جواب جایگزین میشود. در این مقاله برای ضرب درایههای متناظر از عملگر 12 ×"> استفاده شده است.
12v1=1.50.25+0.15-0.71.×1.50.25-2.54.5=1.353.27">
12V=-sin1.35.cos3.27=0.9677">
چون میزان شهد منبع (v1) بیشتر از منبع قبل (x1) است منبع جدید جایگزین منبع قبل میشود. بنابراین:
12x1=1.353.27V1=0.9677">
12C1=0">
برای منبع دوم نیز به همین شکل عمل میشود:
12v2=2.54.5+-0.32-0.61.×2.54.5-0.723.41=1.933.84">
12V=-sin1.93.cos3.84=0.7170">
چون میزان شهد منبع جدید (v2) بیشتر از منبع قبل (x2) است منبع جدید جایگزین منبع قبل میشود. بنابراین:
12x2=1.933.84V2=0.7170"> 12C2=0">
همچنین برای منبع سوم:
12v3=0.723.41+0.220.94.×0.723.41-1.933.84=0.453">
12v3=0.723.41+0.220.94.×0.723.41-1.933.84=0.453">
12V=-sin0.45.cos3=0.4306">
به دلیل عدم بهبود ارزش منبع جدید، این منبع جایگزین منبع قبل نمیشود. همچنین این منبع غذایی جریمه شده و یک واحد به شمارنده عدم افزایش شهد منبع افزدوده میشود. بنابراین:
12x3=0.723.41V3=0.6358"> 12C3=1">
3-1-3- مرحله سوم
در این مرحله احتمال دریافت زنبور به وسیله هر منبع، با استفاده از رابطه 1 محاسبه میشود. برای محاسبه احتمال دریافت زنبور ابتدا لازم است میزان شایستگی منبع با استفاده از رابطه 4 بهدست آید. با توجه به میزان شهد و با محاسبه احتمال دریافت زنبور، به تعدادی از منابعزنبور اختصاص داده میشود. این بدین معنا است که با توجه به احتمال انتخاب هر کدام از منابع، یکی از آنها انتخاب میشود. اگر میزان شهد یک منبع بیشتر باشد احتمال انتخابآن به وسیله زنبورهای ناظر بیشتر است. در این مرحله ممکن است تمام زنبورهای ناظر با توجه به میزان شهدبه یک منبعاختصاص یابند. سپس زنبورها با استفاده از رابطه 2 و یکی دیگر از منابع، یک منبع جدید را در اطراف منبع مورد نظر انتخاب میکنند. اگر این منبع نسبت به منبعقبل شهدبیشتری داشته باشد، جایگزین منبع قبل میشود و درغیر این صورت به این منبع جریمه تعلق میگیرد.
برای تعیین شایستگی جوابهای این مساله رابطه 4 پیشنهاد شده است. بنابراین شایستگی هر منبع با استفاده از رابطه 4 محاسبه میشود:
(4) 12fiti=Vi+1">
12fit1=value1+1=0.9677+1=1.9677">
12fit2=value2+1=0.7170+1=1.7170">
12fit3=value3+1=0.6358+1=1.6358">
پس از محاسبه شایستگی هر منبع، احتمال انتخاب آن به وسیله زنبور ناظر نیز محاسبه میشود:
12p1=fit1n=13fitn=1.96771.9677+1.7170+1.6358=0.37">
12p2=fit2n=13fitn=1.71701.9677+1.7170+1.6358=0.32">
12p3=fit3n=13fitn=1.63581.9677+1.7170+1.6358=0.31">
اکنون برای انتخابمنبع به وسیله زنبور از احتمال تجمعی منابع استفادهمیشود. اگر احتمال تجمعی با P نشان داده شود، در این صورت P1، P2 و P3به شرح زیر است:
12P1=0.37"> 12P2=0.69"> 12P3=1">
برای انتخاب منابع به وسیله زنبورها، به تعداد منابع غذایی موجود، اعداد تصادفی بین صفر و 1 تولید میشود. اگر سه عدد تصادفی 85/0، 93/0 و 12/0 تولید شده باشد. یکی از این اعداد به احتمال تجمعی منبع 1 و دو عدد دیگر به احتمال تجمعی منبع 3 نزدیکتر است، بنابراین با انتخاب منابع 1 و 3 به وسیله زنبورها، در اطراف منبع 1 یک منبع جدید و در اطراف منبع 3 دو منبع جدید انتخاب میشود. اگر در اطراف منبع 1 به صورت تصادفی منبع 2بهعنوان منبع جدید انتخاب شده باشد. در این صورت:
12v1=1.353.27+-0.780.36.×1.353.27-1.933.84=1.803.06">
12V=-sin1.80.cos3.06=0.9704">
به دلیل افزایش میزان شهد منبع جدید این منبع جایگزین منبع قبل میشود. بنابراین:
12x1=1.803.06V1=0.9704"> 12C1=0">
دومین منبع غذایی در اطراف منبع 3 ایجاد خواهد شد. زنبور ناظر به صورت تصادفی منبع غذایی دو را انتخاب کرده و با استفاده از آن در اطراف منبع غذایی سه، یک منبع جدید را برای بهرهبرداری انتخاب میکند. در این صورت:
12v3=0.723.41+-0.920.34.×0.723.41-1.803.06=1.713.53">
12V=-sin1.71.cos3.53=0.9165">
به دلیل بهبود جواب این منبع جایگزین منبع قبل میشود. بنابراین:
12x3=1.713.53V3=0.9165"> 12C2=0">
سومین منبع غذایی نیز در اطراف جواب 3 ایجاد میشود. اگر زنبور ناظر با استفاده از منبع غذایی 2، منبع غذایی جدید را در اطراف منبع غذایی 3 انتخاب کند. در این صورت:
12v3=1.713.53+0.410.18.×1.713.53-1.933.84=1.623.47">
12V=-sin1.62.cos3.47=0.9441">
به دلیل بهبود جواب، این منبع جایگزین منبع قبل میشود. بنابراین:
12x3=1.623.47"> 12V3=0.9441"> 12C3=1">
پس از ایجاد سه منبع غذایی جدید این مرحله تمام میشود.
3-1-4- مرحله چهارم
در مرحله چهارم منابع غذایی تهی شده که تعداد عدم افزایش شهد در اطراف آنها به Cmax رسیده است،با منابع غذایی تصادفی جدید جایگزین میشوند. در این مرحله شرط پایان الگوریتم نیز بررسی میشود. در این مثال شرط پایان الگوریتم 100 تکرار در نظر گرفته شده است. الگوریتم در صورت ارضای شرط پایان متوقف میشود و در غیر این صورت به مرحله دوم باز میگردد. برای رسیدن به بیشینه میزان شهد سایر تکرارهای الگوریتم تا ارضای شرط پایان مشابه آنچه در تکرار اول گفته شد انجام میشود.
در این مثال تنها یک تکرار از الگوریتم شرح داده شد. برای حل مثال بیان شده تکرارها به صورت متوالی انجام میپذیرد تا شرط پایان الگوریتم ارضا شود. این مثال در محیط نرمافزار متلب اجرا شد و جواب نهایی(1.53,3.15)به دست آمد. در شکل 2 بهبود جواب با افزایش تکرارها برای این مثال نشان داده شده است.
شکل2-بهبودجوابباافزایشتکرارها
همانطور که قبلا بیان شد و در مثال بالا نیز مشاهده میشود،در تکرارهای متوالی الگوریتم جوابهای مساله به مرور به یکدیگر نزدیک و با کم شدن تفاضل مختصات جوابها و کوچکتر شدن گامهای الگوریتم، به مقدار بیشینه همگرا میشوند.
تعیین محدوده نهایی معدن به معنی تصمیمگیری در مورد استخراج یا عدم استخراج هر یک از بلوکهای مدل بلوکی اقتصادی معدن است. برای حل این مساله تصمیم میتوان از متغیرهای دودویی[38] استفاده کرد، بهطوری که متغیر مربوط به هر بلوک مفروضاگر بلوک استخراج شود برابر یک و در غیر این صورت برابر صفر شود. برای حل این مساله از الگوریتم بهینهسازی زنبور عسل استفاده میشود.برای تعیین محدودهنهایی ابتدا آرایهای که تعداد درایههای آن برابر تعداد بلوکهای درون مدل بلوکی است، ایجاد میشود. هر درایه از این آرایه نشاندهنده یک متغیر دودویی برای یک بلوک است که بسته به استخراج یا عدم استخراج بلوک ممکن است مقادیر یک یا صفر را بپذیرد. هر یک از بلوکها ممکن استدرون محدوده نهایی معدن باشند که در این صورت درایه آنها عدد یک، یا خارج از محدوده نهایی معدن باشند که در این صورت درایه مربوط به آنهاعدد صفر خواهد بود. همچنین برای هر جواب یک ماتریس صفر (A)L×M(L تعداد سطرها و Mتعداد ستونهای مدل بلوکی) ایجاد میشود. درایههای این ماتریس با استفاده از درایههای متناظر درآرایه جواب مقداردهی میشود. بدیهی است که اگر بلوک a در درون مخروط استخراجی بلوک b قرار داشته باشد، در صورت استخراج بلوک bبلوک aنیز باید استخراج شود. به عبارت دیگر برای پایداری شیب باید رابطه5برایl=(2,3,…,L) و m=(2,3,…,M-1) برقرار باشد.
(5)
12ifA(l,m)=1 thenAl-1,m-1+Al-1,m+Al-1,m+1=3">
برای محاسبه ارزش هر جواب از رابطه6 استفاده میشود.
(6)
12Vi=l=1Lm=1MAi(l,m)×BEV(l,m)">
که در آن:
L تعداد سطرهای مدل بلوکی
M تعداد ستونهای مدل بلوکی
BEVارزش اقتصادی بلوک
4-1- مراحل تعیین محدوده نهایی معدن با استفاده از الگوریتم زنبور
4-1-1- مرحله اول
اولین مرحله از الگوریتم زنبور عسل ایجاد جوابهای اولیه است. برای ایجاد جوابهای اولیه SN (تعداد جوابهای اولیه) آرایه که هر آرایه D (تعداد بلوکها یا متغیرهایی که باید برای آنها تصمیم گیری شود) درایه دارد، ایجاد میشود. درایههای هر آرایه به تصادف با مقادیر صفر و یک پر میشود. برای حل سریعتر مساله میتوان محدوده نهایی حاصل از مخروط شناور را به عنوان یکی از جوابهای اولیه در نظر گرفت و سایر جوابها را با ایجاد تغییرات تصادفی بر روی جواب حاصل از مخروط شناور ایجاد کرد که با این عمل سرعت رسیدن به جواب بهینه افزایش مییابد،سپس ماتریس Aبا استفاده از رابطه 5 برای هر یک از جوابهای اولیه محاسبه و ارزش هر جواب با استفاده از رابطه 6 محاسبه میشود.
4-1-2- مرحله دوم
به تعداد منابع، زنبورهای کارگر مصنوعی ایجاد میشود. هر یک از این زنبورهای مصنوعی با استفاده از رابطه 7 که برای حل مسایل با متغیرهای دودویی در این مقاله ارایه شده است، جواب جدیدی را ایجاد می کنند.
(7) 12vi,j=xi.j+round(φi.j(xi.j-xk.j))">
که در آن:
j شماره بلوک در آرایه جوابj=[1,2,...,D].
xi,j ، xk,jو vi,jمتغیرهای دودویی
تابع round عدد صحیح بودن vi,j را تضمین میکند و برای صفر یا یک بودن vi,j لازم است φ یک عدد نامثبت باشد.به تجربه معلوم شده است که برای متغیرهای صفر و یک بهترین بازه تغییراتφبازه[-0.65,0]است.
پس از ایجاد جواب جدید ارزش این جواب با استفاده از رابطه 6 محاسبه میشود. اگر ارزش جواب جدید برابر جواب قبل یا بیشتر از آن باشد، جواب جدید جایگزین جواب قبلی میشود،در غیر این صورت این جواب باید جریمه شود. برای جریمه کردن، یک واحد به شمارندهCایجاد شده برای آنجواب اضافهمیشود. اگر شمارنده جریمه یک جواب به یک حد از پیش تعیین شده برسد، این جواب با جوابتصادفی جدیدی در محدوده جواب جایگزین میشود.
4-1-3- مرحله سوم
در این مرحله ابتدا میزان شایستگی هر جواب محاسبه میشود. در این تحقیق رابطه8 برای تعیین شایستگی هر جواب پیشنهاد شده است.
(8) 12fiti=valuei+εifvaluei≥0 |valuei| if -1<valuei
که در آن:
12fiti"> شایستگی منبعi
12valuei"> ارزش جواب i(ارزش پیت تشکیل شده به ازای جوابi)
12ε"> یک عدد بسیار کوچک
در صورت بزرگ بودن قدر مطلق ارقام مربوط بهارزش جواب، آن را بر یک عدد مثبت تقسیم میکنند.بهتر است این عدد طوری انتخاب شود که با تقسیم ارزش پیت بر آن اعداد تک رقمی بزرگتر از دو به دست آید تا در صورت منفی بودن ارزش جواب، احتمال انتخاب آن به سمت صفر میل نکند چرا که در الگوریتم زنبور عسل به جوابهای بد نیز امکان بهبود داده میشود.چه بسا بتوان با بهبود یک جواب بد به نتیجه مطلوب رسید،در صورتیکه اگر تمام زمان حل مساله صرف جوابهای نسبتا خوب شود،این احتمال وجود دارد که مساله در تله بهینه موضعی بیفتد.
پس از محاسبه شایستگی جواب، احتمال دریافت زنبور به وسیله هر جواب، با استفاده از رابطه 1 محاسبه میشودو با توجه به آن شایستگی و این احتمال به هر جواب تعدادی زنبور اختصاص داده میشود. اگر شایستگی یک جواب بیشتر باشد احتمال انتخاب شدن آن برای جذب زنبور جدید بیشتر خواهد بودو حتی ممکن است همهزنبورهای ناظر به یک جواب اختصاص یابد. سپس با استفاده از رابطه 2 جواب جدیدی ایجاد میشود. اگر ارزش این جواب نسبت به جواب قبلیبالاتر باشد، جواب جدید جایگزین جواب قبل میشود و درغیر این صورت به این جواب جریمه تعلق میگیرد.
4-1-4- مرحله چهارم
در این مرحله جوابهایی که مقدار جریمه آنها به Cmaxرسیده است، با جوابهایتصادفی جدید جایگزین میشوند،مقدار شمارندهCمربوط به جواب جایگزین شده صفر میشود. در نهایت، شروط پایان الگوریتم بررسی میشود. در صورت ارضای این شروط الگوریتم متوقف میشود و در غیر این صورت کنترل الگوریتم به مرحله دوم بازمیگردد.
روندنمای تعیین محدوده نهایی معدن با استفاده از الگوریتم زنبور عسل درشکل 4نشان داده شده است.
4-2- حل مثال دو بعدی
4-2-1- مرحله اول
در مدل بلوکی دو بعدی شکل 3 برای تعیین محدودهنهایی با استفاده از الگوریتم زنبور عسل، ابتدا تعدادی جواب اولیه تولید میشودو سپس برای هر کدام از جوابها آرایهایکه تعداد درایههای آن برابر تعداد بلوکهای مثبت درون مدل بلوکی اقتصادی است، ایجاد میشود. با توجه به اینکه در مدل شکل 3 تعداد بلوکهای مثبت برابر 3 است، هر کدام از آرایهها 3 درایه خواهند داشت. به هر کدام از این درایهها در صورتی که بلوک مثبت متناظر درایه در درون محدوده نهایی جواب قرار داشته باشد عدد 1 و در غیر این صورت عدد صفر اختصاص مییابد. علاوه بر این برای هر جواب یک ماتریس صفر Aنیز تولید میشود که ابعاد آن مشابه مدل بلوکی است (برای این مثال 5×3) و درایههای آن برای بلوکهای درون محدوده نهایی جواب با عدد 1 و برای سایر بلوکها با عدد صفر پر میشود.
شکل3- مدل بلوکی دو بعدی اقتصادی معدن(BEV).
در این مثال اگر دو جواب اولیه به دست آید،در جواب اول ممکن استمحدوده نهایی بهدست آمده با استفاده از مخروط شناور باشد (شکل 5). محدوده نهایی مربوط به این جواب(A1) در شکل 6نشان داده شده است. آرایهمربوط به این جواب نیز در ستون چهارم جدول1دیده میشود.
شکل4-روندنمای تعیین محدوده نهایی معدن با الگوریتمزنبور.
شکل 5- محدوده نهایی مربوط به جواب 1
جدول1-وضعیتبلوکهای مثبت مدل در جواب 1
شکل6-محدوده نهایی ایجاد شده برای جواب 1
درایهجوابیک: 12x1=111">
ارزشمحدوده نهایی جواب یک نیز با استفاده از رابطه 6 محاسبه میشود:
12V1=l=13m=15A1l,m×BEVl,m=2">
اکنون با اعمال تغییراتی در جواب یک جواب دوم انتخاب میشود. اگر جواب دوم طوری انتخاب شود که محدوده نهایی آن (A2) بهصورت شکل 7 باشد.آرایهمربوط به این جواب نیز در ستون چهارم جدول 2 دیده میشود.
جدول 2- وضعیت بلوکهای مثبت مدل در جواب 2
شکل 7-محدوده نهایی ایجاد شده برای جواب 2
درایهجوابدو: 12x2=010">
ارزشمحدوده نهایی جواب دو نیز با استفاده از رابطه 6 محاسبه میشود:
12V2=l=13m=15A2l,m×BEVl,m=-1">
4-2-2- مرحله دوم
در این مرحله با استفاده از رابطه 7برای هر یک از جوابهای مساله، جواب جدیدی ایجاد میشود. برای ایجاد جوابهای جدید میتوان تعداد بلوکهایی که تغییرات بر روی آنها اعمال میشود، تعیین کرد. همچنین بلوکهایی تغییرات باید بر روی آنها اعمال شود، به صورت تصادفی تعیین میشود. در این مثال، در جواب اول یک بلوک که به تصادف بلوک متناظر درایه یک است، برای تغییر انتخاب شده است:
12v1=111+round-0.5400.×111-010=011">
جواب به دست آمده بدین معنی است که در جواب جدید باید بلوکهایمتناظر درایههای دو (بلوک واقع در سطر 2 و ستون 4) و سه (بلوک واقع در سطر 3 و ستون 3) در درون محدوده نهایی قرار گیرند. محدودهدربرگیرنده این دو بلوک مثبت همان محدوده نهایی پیشین یعنی شکل 6 خواهد بود و بهبودی حاصل نخواهد شد. به دلیل عدم بهبود جواب در این مرحله، جریمهای برای جواب یک در نظر گرفته شده و یک واحد به شمارنده این جواب افزوه خواهد شد و C1 به یک افزایش خواهد یافت.
12x1=111"> 12V1=2"> C1=1
برای جواب دوم نیز یک بلوک که به تصادف بلوک متناظر درایهسهاست، برای تغییر انتخاب شده است:
12v2=010+round00-0.25.×010-111=010">
در این جواب نیز بهبودی حاصل نشده و جواب دوم نیز باید جریمه شده و یک واحد به شمارندهبه آن اضافه شود. بنابراین:
12x2=010"> 12V2=-1"> C2=1
4-2-3- مرحله سوم
در این مرحله پس از محاسبه شایستگی جوابهای جدید با استفاده از رابطه 8 و بهدست آوردن احتمال اختصاص آنها به هر یک از جوابهای قبلبا استفاده از رابطه 1، جوابهای جدید اختصاص داده میشود:
12fit1=2">
12fit2=1|-1|=1">
12p1=fit1fit1+fit2=22+1=0.67">
12p2=cost2fit1+fit2=12+1=0.33">
پس از محاسبه احتمال تجمعی که برای جواب یک 67/0 و برای جواب دو 1 به دست میآید،عددی تصادفی بین صفر و یک تولید میشود.این عدد تصادفی اگر بین صفر و67/0 باشد جواب اول و اگر بین 67/0 ویک باشد جواب دو برای اختصاص جواب جدید انتخاب میشود. اگر بهصورت تصادفی عددهای 41/0و 89/0 بهدست آمده باشد، به هر یک از جوابها یک جواب جدید اختصاص داده میشود و مانند مرحله دوم اقدام میشود.
12v1=111+round00-0.21.×111-010=111">
12v2=010+round-0.5100.×010-111=110">
به علت عدم بهبود جواب اول جواب جدید جایگزین آن نشده و با جریمه شدن این جواب یک واحد به شمارنده آن افزوده میشود اما ارزش جواب دوم 3 است که نسبت به ارزش قبلی یعنی 1- بالاتر است، بنابراین این جواب جایگزین جواب پیشین میشود. در نتیجه:
12x1=111"> 12V1=2"> C1=2
12x2=110"> 12V2=3"> C2=1
ماتریس صفر جواب جدید جایگزین شدهجواب دو قبل در شکل 8 دیده میشود.
شکل 8-محدوده نهایی ایجاد شده برای جواب 2
4-2-4- مرحله چهارم
در این مرحله مقدار شمارنده جوابها بررسی میشود. چون مقدار این شمارندهها به مقدار از پیش تعیین شده که در این مثال 5 در نظر گرفته شده نرسیده است، هیچ یک از جوابها با جوابتصادفی جدید جایگزین نمیشود. در نهایت شروط پایان الگوریتم بررسی میشود. در این مثال برای پایان اجرای الگوریتم دو شرط در نظر گرفته شده است. شرط اول بار 30 تکرار و شرط دوم عدم بهبود جواب در 5 تکرار متوالی است. اگر یکی از این شروط برقرار باشد الگوریتم متوقف میشودو در غیر این صورت کنترل الگوریتم به مرحله دوم بازمیگردد.
در اینجا فقط یک تکرار از الگوریتم شرح داده شده استو این عملیات تا رسیدن به یکی از شرایط توقف الگوریتم ادامه مییابد.
4-3-تعیین محدوده نهایی سه بعدی
تعیین محدوده نهایی معدن به کمک کامپیوتر معمولا با استفاده از مدل بلوکی انجام میشود. در این پژوهش برای امکانسنجی کاربرد الگوریتم در مسایل سهبعدی و بزرگ مقیاس، مدل بلوکی معدن سونگون در نرمافزار Datamine ساخته شد. این معدن دارای 160 گمانه اکتشافی است که با استفاده از این گمانهها 18 مقطع برای معدن رسم شد (شکل 9).
شکل 9-مقاطع رسم شده برای معدن سونگون
برای ساخت مدل بلوکی عیاری ابعاد بلوکها 25×25×25 متر در نظر گرفته شد و مدل بلوکی با 45×100×120بلوک ساخته شد.پس از ساخت مدل بلوکی و تعیین چگالی آن با استفاده از کریجینگ عیار بلوکها تخمین زده شد (شکل 10).
شکل 10-مدل بلوکی عیاری معدن سونگون
پس ازساخته شدن مدل بلوکی عیاری یک خروجی اکسل ازآن تهیه شد. در مرحله بعد با فراخوانی مدل بلوکی عیاری معدن به نرمافزار Matlab با استفاده از پارامترهای اقتصادی جدول 3،مدل بلوکی اقتصادی با استفاده از رابطههای 9 و 10 ساخته شد[43].
جدول 3- پارامترهای اقتصادی
(9) 12v=[p-r*g*y-m-c]Q">
(10) 12v=v if p-r*g*y>c-mQ if p-r*g*y<c">
در این روابط
vارزش بلوک
p قیمت
r هزینه ذوب تصفیه و فروش یک تن فلز
g عیار بلوک
y بازیابی فلز
m هزینه استخراج یک تن سنگ
c هزینه فرآوری یک تن کانسنگ
Q تناژ بلوک
برای حل این مدل سهبعدی نیز مشابه آنچه در حالت دوبعدی توضیح داده شد، عمل میشود. برای این منظور در نرمافزار متلب الگوریتم زنبور عسل برای تعیین محدودهنهایی معدن صورتبندی و بر روی مدل بلوکی معدن فرضی اجرا شد. با اجرای الگوریتم زنبور عسل میزان نقدینگی ناشی از استخراج محدودهنهایی 184/21 میلیارد دلار بهدست آمدکه نسبت به نقدینگیحاصل از محدوده بهدست آمده با استفاده از الگوریتم مخروط شناور (572/18 میلیارد دلار) 3/12 درصد بیشتر است.
شکل11- بهبود ارزش محدوده نهایی با افزایش تکرارها
یکی از روشهای تعیین محدوده نهایی معدن استفاده از نظریهگراف لرچ وگروسمن است. از نظر ریاضی اثبات شده است که این الگوریتم منجر به تعیین محدوده نهایی واقعی معدن میشود. در این مقاله برای اعتبارسنجی تعیین محدوده نهایی با استفاده از الگوریتم زنبور عسل، از نظریهگراف و نرم افزار NPV Schedulerکه محدوده نهایی را براساس این نظریه تعیین میکند، استفاده شد. نقدینگی حاصل از محدوده نهایی تعیین شده با استفاده از نظریهگراف 528/21 میلیارد دلار بهدست آمدکه در مقایسه با نقدینگی حاصل از محدوده نهایی بهدست آمده با الگوریتم زنبور عسل فقط 6/1 درصد بیشتراست. در شکلهای 12 و 13 به ترتیب مقطعی از محدوده نهایی معدن با استفاده از الگوریتم زنبور عسل و نظریهگراف نمایش داده شده است.
شکل 12-محدوده نهایی به دست آمده با استفاده از الگوریتم زنبور عسل
شکل 13-محدوده نهایی به دست آمده با استفاده از نظریه گراف
پس از اکتشاف یک کانسار در صورتی که روش استخراج روباز برای بهرهبرداری از آن انتخاب شده باشد، لازم است تا محدوده نهایی معدن تعیین شود. از اهداف طراحی محدودهنهایی یک معدن، تعیین پارامترهایی مانند میزان گسترش طولی، عرضی و عمقی معدن، مسیرهای دسترسی به مادهمعدنی، محل دپوی باطله، محل تاسیسات سطحی، نسبت باطلهبرداری، عمر معدن، میزان ذخیره قابل استخراج به روش روباز، میزان باطلهبرداری و نحوه برنامهریزی تولید است. تا به حال روشهای گوناگونی برای تعیین محدوده نهایی معدن پیشنهاد شده است. در این پژوهش برای تعیین این محدوده یک مدل برنامهریزی صفر و یک پیشنهاد شده و برایحل مدل از الگوریتم زنبور عسل کمک گرفته شده است. برای ارزیابی کارآیی این الگوریتم در تعیین محدوده نهایی معدن، مراحل الگوریتم در یک مثال دوبعدی به صورت کامل شرح داده شد. سپس این الگوریتم برای تعیین محدوده نهایی یک معدن سونگونبا45×100×120بلوک به کار گرفته شد. برای اعتبارسنجی عملکرد این الگوریتم، محدوده نهایی معدن فرضی با استفاده از روش مخروط شناور و نظریهگراف تعیین شد. نتایج اعتبارسنجی نشان میدهد که اختلاف نقدینگی محدوده به دست آمده از طریق الگوریتم زنبور عسل حدود 3/12 درصد از محدوده مخروط شناور بیشترو تنها 6/1 درصد از محدوده نظریه گراف کمتراست.
[*]نویسنده مسئول مکاتبات
[2]Ultimate pit limit
[3]Grade block model
[4]Economic block model
[5] Optimum
[6]Rigorous
[7]Dynamic programming
[8]Graph theory
[9] Dual simplex
[10] Transportation algorithm
[11] Maximum flow
[12] Heuristic
[13] Meta- heuristic
[14]Moving cone
[15] Korobov
[16]Genetic algorithm
[17]Ant colony algorithm
[18] Imperialist competitive algorithm
[19] Artificial intelligence
[20]Swarm intelligence
[21]Artificial bee colony (ABC)
[22]Bee colony optimization
[23]Bee swarm optimization
[24]Virtual beealgorithm
[25]Bees algorithm
[26] Honey-bees mating optimization
[27]Karaboga
[28]simplex
[29] Differential evolution
[30] Convergence
[31]Back break
[32]Flowchart
[33]Scout bee
[34]Waggle dance
[35]Employed bee
[36]Onlooker bee
[37] Maximum cycle number
[38]Binary