عنوان مقاله:
مدل ریاضی و رویکردهای بهینهسازی فراابتکاری برای یافتن جواب نزدیک به بهینه در مسئله تخصیص خون در سیستم بانکهای خونی.
چکیده:
در این مقاله، یک مدل برای مسئله تخصیص خون کامل ارائه شدهاست که در آن انواع گروههای خونی در نظر گرفته شدهاست و سه الگوریتم فراابتکاری، شامل الگوریتم جستجوی همزیست، ترکیب الگوریتم جستجوی همزیست و الگوریتم ژنتیک، ترکیب الگوریتم جستجوی همزیست و الگوریتم شبیهسازی تبرید برای حل این مدل ارائه شدهاست. برای ارزیابی کارایی این الگوریتمها، مثالهای عددی برای شش مجموعه داده مختلف حل شدهاست که نتایج، حاکی از برتری الگوریتم ترکیبی جستجوی همزیست و الگوریتم ژنتیک بر دو الگوریتم دیگر است.
مقدمه:
خون از ملزومات ضروری برای درمان بیماران در بیمارستانهاست و ادامهی حیات انسانها به این ماده حیاتی و مشتقات آن از جمله گلبولهای قرمز، گلبولهای سفید، پلاسما و پلاکت وابسته است. کمیاب بودن خون و طول عمر کوتاه محصولات خونی، باعث افزایش تقاضای انواع مشتقات خونی میشود که در نتیجه این عامل، نیاز به اهدای خون برای فراهم کردن این تقاضاها افزایش مییابد. با وجود تمامی تلاشهای صورتگرفته در این راستا، هنوز هم گزارشهایی مبنی بر وجود کمبود خون از بعضی از مراکز درمانی و بیمارستانها دریافت میشود. بهعلاوه، گروههای خونی نیز محدودیتهایی بر فرآیند انتقال خون اعمال میکنند و در مواقعی که نیاز اورژانسی برای یک نوع گروه خونی وجود دارد و موجودی آن گروه خونی به اتمام رسیدهاست، دشواریهای موجود را تشدید میکند. همچنین، خونهای آلوده و عفونی و خونهای فاسدشده نیز اتلاف و دورریز میشوند که این عامل نیز، امکان مواجهه با کمبود را تشدید میکند. با وجود راههای مختلفی که برای مدیریت خون و بانکهای خونی ارائه و پیشنهاد شدهاند، هنوز هم نیاز به یک راهکار مؤثرتر و کاراتر برای مدیریت این شبکه احساس میشود که در این مقاله روشی برای مدیریت زنجیره تأمین گلبولهای قرمز خون ارائه شدهاست.
مسئله تخصیص خون که اخیراً در ادبیات، به عنوان مسئله بهینهسازی ترکیبی مطرح شدهاست به دنبال تخصیص بهینه انواع گروههای خونی از اهداکنندگان تا نقاط تقاضا میباشد و اهدافی مانند کمینه کردن اتلاف خون و طراحی یک سیستم تأمین خون پایدار را دنبال میکند. بدین منظور، در این پژوهش یک مدل دینامیک برای مدیریت زنجیره تأمین گلبولهای قرمز خون توسعه داده شدهاست که در آن، انواع گروههای خونی در نظر گرفته شدهاست. این مدل، بر پایهی مجموعهای از معادلات بنا شدهاست که مسئله تخصیص خون را در حالت واقعبینانهتر و برگرفته از مسائل دنیای واقعی فرمولبندی کردهاست و همچنین تصمیمات مرتبط با موجودی خون را دربردارد.
بهعلاوه، در این مقاله الگوریتمهای فراابتکاری برای حل مسئله تخصیص خون و راهکارهایی برای بهبود این الگوریتمها نیز پیشنهاد شدهاست و مسئله مسیریابی نیز مورد بررسی قرار گرفتهاست. به این منظور سه نوع الگوریتم، الگوریتم جستجوی ارگانیسم همزیست (SOS)، الگوریتم ترکیبی الگوریتم جستجوی ارگانیسم همزیست و شبیهسازی تبرید (SOSGA) و الگوریتم ترکیبی الگوریتم جستجوی ارگانیسم همزیست و الگوریتم ژنتیک (SOSSA) برای حل مدل ارائه شدهاست.
ویژگیهای اصلی مدل:
· ارائه مدل ریاضی دینامیک برای مدیریت بانک خون با در نطر گرفتن انواع گروههای خونی و سازگاری این گروهها.
· استفاده از مجموعهای از معادلات برای بهینهسازی فرآیند تصمیمگیری در مدیریت بانکهای خونی.
· ارائه الگوریتمهای فراابتکاری ترکیبی برای تعیین جوابهای نزدیک به بهینه در مسئله تخصیص خون و در یک سیستم بانک خونی دینامیک.
بیان مسئله:
تقاضاهای خونی با توجه به نامنظم بودن مراجعه بیماران، غیرقابلپیشبینی است؛ به خصوص در مواقع اورژانسی، بیمارستانها و مراکز درمانی با هجمه زیاد تقاضاها مواجه میشوند. عرضه خون نیز نامنظم و غیرقابلپیشبینی است و مقدار آن، وابسته به میزان خون موجود در بانکهای خونی و میزان اهدای خون است که ممکن است نتواند پاسخگوی تقاضاهای روزانه انواع گروههای خونی باشد که این عامل منجر به کمبود میگردد. در شکل 1، جریان خون در یک بانک خونی نشان داده شدهاست که عملیاتهای صورتگرفته در طول این جریان، به شرح زیر میباشد:
1. انتقال خونهای اهدایی برای انجام عملیات غربالگری.
2. جدا کردن واحدهای خون آلوده بعد از غربالگری.
3. انتقال واحدهای خون سالم به بانک خونی.
4. انتقال واحدهای خونی گروهبندی نشده برای انجام عملیات پردازش و فرآوری.
5. ذخیره واحدهای خونی پردازششده که پردازش واحدهای خونی شامل عملیاتی مانند تعیین انواع گروههای خونی، برچسب زدن و ... میباشد.
6. دریافت سفارشها و تقاضاها از بیمارستانها و کلینیکها.
7. استفاده از گروههای خونی سازگار در صورتی که تقاضا بیشتر از عرضه باشد.
8. انتقال واحدهای خونی سازگار برای برآورد تقاضاها.
9. درخواست خون از منابع خارجی در صورتی که واحدهای خونی جایگزین نیز، نتوانند پاسخگوی تقاضاها باشند.
10. دریافت واحدهای خونی واردشده از منابع خارجی توسط بانکهای خونی.
11. توزیع واحدهای خونی در میان بیمارستانها و کلینیکها برای ارضای تقاضاها.
شکل 1. جریان خون در یک سیستم بانک خونی.
در شکل 2، عملیات اجرایی به شکل جزئیتری و در یک بازه زمانی محدود در روز t، نمایش داده شدهاست. در مدل پیشنهادی، فرض شدهاست که بانک خونی تمامی تقاضاها را در روز t پاسخ میدهد؛ حتی در مواقعی که تقاضا بیشتر از عرضه باشد و حتی در مواقعی که گروههای خونی سازگار نیز نتوانند پاسخگوی نیازها باشند که در این صورت، همانطور که در عملیات 4 نشان داده شدهاست، واحدهای خونی مورد نیاز با پرداخت هزینهای بیشتر از منابع خارجی تهیه میشوند. همچنین در این مدل انواع گروههای خونی و امکان جایگزینی گروههای خونی سازگار در نظر گرفته شدهاست.
شکل2. نمایش مدل دینامیک برای مسئله تخصیص خون
مفروضات:
· انواع گروههای خونی در این مدل در نظر گرفته شدهاند. (O+,O-,A+,A-,B+,B-,AB+,AB-)
· در این مدل، برای راحتی، از حرف C برای نمایش دادن گروه خونی AB استفاده شدهاست که C+ نمایانگر AB+ و C- نمایانگر AB- است.
· فرض شدهاست که مقدار عرضه خون در دسترس در بانک خونی، تابعی از میزان خون اهدایی توسط جمعیت است و هیچ منبع دیگری برای آن در نظر گرفته نشدهاست.
· عرضه و تقاضا، متناسب با شرایط عادی در نظر گرفته شدهاست و شرایط اورژانسی و بحرانی در نظر گرفته نشدهاست.
· دوره عمر مصرف برای محصولات خونی در نظر گرفته نشدهاست که به این دلیل، محصولات خونی باید پایش شده و در اسرع وقت و قبل از فاسد شدن مورد استفاده قرار گیرند.
· میزان خونهای اهدایی از انواع گروههای خونی، متناسب با فراوانی گروههای خونی در میان جمعیت است.
الگوریتمهای فراابتکاری:
در این مقاله، سه الگوریتم فراابتکاری برای حل مدل ارائهشده برای مسئله تخصیص خون توسعه داده شدهاست که بر پایه الگوریتم جستجوی ارگانیسم همزیست (SOS) استوار هستند. از این رو که این الگوریتم نمیتواند به طور مستقیم برای حل مسئله تخصیص خون که یک مسئله بهینهسازی گسسته است، مورد استفاده قرار گیرد، تغییراتی در این الگوریتم ایجاد شدهاست تا برای حل مسئله تخصیص خون مناسب گردد. سه الگوریتم مطرحشده در این مقاله عبارتند از: الگوریتم SOS اصلاحشده، ترکیب الگوریتم SOS با الگوریتم شبیهسازی تبرید (SOSSA) و ترکیب الگوریتم SOS با الگوریتم ژنتیک (SOSGA).
الگوریتم SOS، برای یافتن جواب بهینه سراسری کاربرد دارد و از آن جا که این الگوریتم نیاز به دانش و اطلاعات خاصی در مورد مسئله ندارد، میتواند برای حل طیف وسیعی از مسائل استفاده شود و در حل مسائل بهینهسازی دشوار مانند مسائل غیرخطی و مسائل گسسته نیز کاربرد دارد. همچنین، این الگوریتم دارای ماهیت تصادفی است که این الگوریتم را قادر میسازد که از گیر افتادن در نقاط بهینه محلی اجتناب کند.
الگوریتمSOS :
این الگوریتم دارای سه فاز است که به دنبال بهبود تعاملات همزیستی بین جانداران در اکوسیستم میباشند. این فازها عبارتند از: فاز همیاری، فاز همسفرگی و فاز انگلی. در فاز همیاری، هر دو جاندار به یکدیگر سود میرسانند و سودرسانی دوطرفه میباشد. در فاز همسفرگی، موجود اول به موجود دوم سود میرساند، اما موجود دوم متوجه هیچ سود یا زیانی نمیشود و در فاز سوم، یکی از این دو موجود، به دیگری سود میرساند اما خود متحمل زیان میشود. این الگوریتم، همانند دیگر الگوریتمهای مبتنی بر جمعیت، با یک اندازه جمعیت تصادفی که معمولاً متناسب با اندازه جمعیت اکوسیستم است، شروع میشود و غیر از اندازه جمعیت، هیچ پارامتر کنترل دیگری ندارد که از مزایای این الگوریتم محسوب میشود.
· فاز همیاری:
در این فاز، دو موجود متفاوت Xi و Xj بر اساس رابطه سودمندی متقابل و به طور تصادفی از میان جمعیت انتخاب میشوند. جوابهای کاندید برای این دو موجود، از طریق روابط زیر محاسبه میشود:
MV که نشاندهنده ارتباط متقابل بین دو موجود است، به صورت زیر محاسبه میشود:
β1 و β2 فاکتورهای منفعت هستند و به صورت تصادفی مقادیر 1 یا 2 را اختیار میکنند و موجودی که بهترین مقدار تابع هدف را از نظر سازگاری در اکوسیستم دارد، با Xbest نشان داده میشود.
· فاز همسفرگی:
در این فاز موجود Xi به صورت تصادفی از میان جمعیت انتخاب میشود و به دنبال افزایش منفعت خود از تعامل با موجود Xj است. این رابطه همزیستی، از نوع سودمندی یکطرفه است که در آن موجود Xi سود کسب کرده و موجود Xj هیچ تأثیری اعم از سود و زیان نمیپذیرد. نتایج برای این ارتباط همزیستی از طریق زیر محاسبه میگردد:
· فاز انگلی:
برای نشان دادن رابطه همزیستی انگلی از ارتباط بین سه موجود، انگل مالاریا، پشه آنوفیل و انسان استفاده میشود. در این نوع ارتباط، انسان، به عنوان میزبان انگل، آسیب میبیند و پشه که ناقل انگل است، زیانی ندیده و انگل مالاریا نیز سود برده و در بدن انسان رشد کرده و تکثیر مییابد. در این الگوریتم Xi که نقشی شبیه پشه آنوفیل دارد، بردار انگلی مصنوعی به نام Pvec ایجاد میکند. سپس، Xj به عنوان میزبان Pvec، به صورت تصادفی از اکوسیستم انتخاب میشود. بردار Pvec همواره به دنبال جایگزینی Xj در اکوسیستم است که اگر سازگاری بیشتری از Xj داشتهباشد، جایگزین آن میشود و در غیر این صورت، Xj در برابر Pvec ایمن شده و امکان ادامه حیات برای انگل Pvec در اکوسیستم وجود نخواهد داشت.
البته باید به این نکته توجه داشت که الگوریتم SOS برای حل مسائل بهینهسازی پیوسته طراحی شدهاست و بنابراین، برای حل مسئله تخصیص خون که یک مسئله بهینهسازی گسسته است، از تبدیل زیر استفاده میشود:
که در آن k و m اعداد صحیح مثبت هستند.
با توجه به این نکته که الگوریتم SOS برای حل مسائل پیچیده و گسسته، روشی کارا است، ولی نیاز به بهبود این الگوریتم برای جلوگیری از کاهش احتمال گیر افتادن آن در جوابهای بهینه محلی است که بدین منظور، دو الگوریتم ترکیبی SOSGA و SOSSA در این مقاله پیشنهاد شدهاست.
الگوریتم ترکیبی SOSGA:
الگوریتم GA که به دنبال یافتن بهترین جواب ممکن برای مسئله است، متشکل از سه مرحله انتخاب، تقاطع و جهش است. در مرحله انتخاب، یک عضو یا واحد خونی از میان جمعیت که در این مسئله، انواع گروههای خونی است، انتخاب میشود. در مرحله تقاطع، بخشهایی از دو واحد خونی که انتخاب شدهاند، تعویض میشوند و در مرحله جهش، تعدادی از بخشهای درون یک عضو به صورت تصادفی انتخاب شده و مقادیر تعدادی از این بخشها مجدداً محاسبه میشوند.
گامهای الگوریتم SOSGA که ترکیبی از الگوریتمهای SOS و GA است، در شکل 3 نشان داده شدهاست. پایه این الگوریتم، الگوریتم SOS است و عملگرهای تقاطع و جهش الگوریتم GA در فاز همسفرگی از الگوریتم SOS ادغام شدهاند. در حالت کلی، انتظار میرود که زمان حل الگوریتم ترکیبی SOSGA افزایش یافته و نیز جوابهای حاصل از این الگوریتم، به دلیل تأثیر عملگرهای الگوریتم GA بر مراحل الگوریتم SOS، بهتر از جوابهای حاصل از بهکارگیری جداگانه این الگوریتمها خواهد بود.
شکل3. الگوریتم SOSGA
الگوریتم ترکیبی SOSSA:
این الگوریتم از تکنیک بهینهسازی سراسری الگوریتم SOS و تکنیک جستجوی محلی الگوریتم SA به صورت همزمان، بهره میگیرد و تکنیک جستجوی محلی SA در فاز همیاری الگوریتم SOS ادغام میشود. مراحل الگوریتم SOSSA در شکل 4 نشان داده شدهاست. این الگوریتم با تعیین مقادیر اولیه توسط کاربر آغاز میشود. در این الگوریتم دو پارامتر اصلی وجود دارد که یکی اندازه اکوسیستم در الگوریتم SOS است و دیگری، پارامتر کنترل SA است که با Tk نشان داده میشود و بیانگر دما در این الگوریتم است. گام بعدی، یافتن یک نقطه جدید و مقایسه مقدار تابع هدف آن با بهترین تابع هدف حاصل تا کنون است که با Xbest نشان داده میشود. این فرآیند تکرار میشود تا این که جواب بهینه حاصل شود.
شکل 4. شبهکد الگوریتم SOSSA
نتایج:
برای حل الگوریتمهای ارائهشده در این مقاله، از نرمافزار جاوا استفاده شدهاست. هر کدام از این الگوریتمها، با جمعیتی 50 عضوی و 1000 بار اجرا شدهاند و پارامترهای بهکاررفته در آنها گزارش شدهاند. برای ارزیابی اثربخشی این الگوریتمها، از شش مجموعه داده استفاده شدهاست که این موضوع، نشاندهنده تنوع تعداد حالاتی است که ممکن است در واقعیت و در سیستم بانکهای خونی با آنها مواجه شویم.
نتایج هر سه الگوریتم و برای هر شش مجموعه دادهها ثبت و مقایسه شدهاند که نتایج حاکی از آن است که الگوریتمهای ترکیبی SOSGA و SOSSA در مقایسه با فرم استاندارد الگوریتم SOS عملکرد بهتری داشته و نتایج حاصل از آنها، در مقایسه با SOS بهبود یافتهاند. با این وجود، از نتایج الگوریتم SOSGA میتوان دریافت که سطح خونهای واردشده از منابع خارجی، در مقایسه با دو الگوریتم دیگر کمتر بوده و همچنین، تعداد جوابهای بهدستآمده از این الگوریتم بیشتر است. بنابراین، به نظر میرسد که الگوریتم SOSGA برای حل مسائل پیچیده مانند مسئله تخصیص خون، الگوریتمی مناسب و کارا محسوب میشود. این الگوریتم مجهز به دو عملگر تقاطع و جهش است که نشئتگرفتهشده از الگوریتم GA است که با فاز همسفرگی الگوریتم SOS ادغام شده و باعث بهبود جوابهای حاصل و همچنین، افزایش تعداد جوابها شدهاست.
بهعلاوه، برای ارزیابی عملکرد این الگوریتمها، از معیاری به نام نرخ موفقیت استفاده شدهاست که با توجه به این معیار، میتوان گفت که نرخ موفقیت رابطه معکوس با حجم خون اولیهای دارد که در این الگوریتمها استفاده شدهاست. در واقع، هرچه حجم خون اولیه بیشتر باشد، تعداد نتایج حاصل کمتر میشود.