X بستن تبلیغات
X بستن تبلیغات
header
متن مورد نظر

برنامه کاربردی برش موادخام و حل مشکل یک شرکت سازنده

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

این مقاله یک برنامه کاربردی مشهور را برای حل مشکل شرکتهای تولیدکننده ارائه می‌کند. هدف از برش یک بعدی، بریدن موادخام با طول طراحی شده به تعداد زیاد از الوارهای طویل می‌باشد. شرکتی که ما این تحقیقات را برای آنها انجام دادیم با مشکلات برش الوارهای فلزی جهت پروژه‌های خود مواجه شده بود. ما چندین راه حل مختلف را به حل مشکل شرکت مذکور نزدیک دیدیم. ۱. طراحی و ساخت یک نرم‌افزار. ۲. گسترش نرم‌افزار شخصی خودمان و ۳. مقایسه این نرم‌افزار با نرم‌افزارهای تجاری موجود در اینترنت. در این مقاله ما تمام آزمایشات خویش را به وسیله این سه روش خلاصه نموده‌ایم. در این مقاله ما همچنین یک benchmark از بسته‌های نرم‌افزاری تجاری موجود در بازار که قابل دسترس هستند ارائه می‌نماییم.

برنامه کاربردی برش موادخام و حل مشکل یک شرکت سازنده

 

این مقاله یک برنامه کاربردی مشهور را برای حل مشکل شرکتهای تولیدکننده ارائه می‌کند. هدف از برش یک بعدی، بریدن موادخام با طول طراحی شده به تعداد زیاد از الوارهای طویل می‌باشد. شرکتی که ما این تحقیقات را برای آنها انجام دادیم با مشکلات برش الوارهای فلزی جهت پروژه‌های خود مواجه شده بود. ما چندین راه حل مختلف را به حل مشکل شرکت مذکور نزدیک دیدیم. ۱. طراحی و ساخت یک نرم‌افزار. ۲. گسترش نرم‌افزار شخصی خودمان و ۳. مقایسه این نرم‌افزار با نرم‌افزارهای تجاری موجود در اینترنت. در این مقاله ما تمام آزمایشات خویش را به وسیله این سه روش خلاصه نموده‌ایم. در این مقاله ما همچنین یک benchmark از بسته‌های نرم‌افزاری تجاری موجود در بازار که قابل دسترس هستند ارائه می‌نماییم. سرانجام ما یک محیط visual را جهت افزایش کارایی در حل مشکلات برش و نشان دادن قابلیت اجرایی این مقاله با استفاده از دیتاهای شرکت روی دو پروژه در دست ساخت ارائه خواهیم نمود.

محیط‌های انقیاد: سیستم‌های طراحی پشتیبانی، سیم‌های مدیریت اطلاعات.

معرفی: مواجه شدن شرکتها با برش موادخام بسیار مرسوم است که این مشکل مشمول شرکتهای ساخت و ساز نیز می‌شود. طبق دستورالعمل الوارهای آهنی با طول مطمئن و به تعداد مشخص مورد نیاز واقع می‌شود. این الوارها از الوارهای بلندتری بریده می‌شود که طول آنها بلندتر از ۲۰۰cm است. مشکل پیدا کردن بهترین و بهینه‌ترین الگوی برش به گونه‌ای است که کل تعداد الوارهای بلند به طور قابل توجهی می‌نیمم شود. موضوعی که به محدودیت الوارهای فلزی کوتاه‌تر به تعداد مورد نیاز منجر می‌شود.

ظهور مشکل: شرکت Mimga Makina که در سال ۱۹۸۳ تأسیس شده یک شرکت تاسیس شده تحت سرپرستی گروه MIMAGO است. هدف اولیه در تأسیس شرکت تولید نیازهای فلزی شرکت سرپرستی کننده بود. محصولات بعدی شرکت بسیار متنوع بودند و بازار بزرگی در بین پیمانکاران پیدا کرده بودند. در حال حاضر شرکت طراحی، تولید و مدیریت اسکلت و داربست‌های متناسب برای سیستم‌ها در تمامی انواع ساخت و سازها مانند سدها، پل‌ها، مراکز تجاری و مراکز صنعتی را انجام می‌دهد و مدیریت می‌نماید. تا به این تاریخ پروژه‌های متعددی که به وسیله Mimag تکمیل شده است که عبارتند از: ۱. ساخت‌ساز خانه (۲۰۰ سایت) ۲. نصب صنعتی، راه‌آهن برقی، سیلوها و صنایع مختلف و کارهای متعددی دیگر که اجرا می‌شوند.

بتون‌های تقویت شده که در اثر ترکیب فلز و استیل به وجود می‌آید در پروژه‌های متعددی توسط Mimag مورد استفاده قرار گرفت که این امر به دلیل مسائل اقتصادی و پایداری آنها بوده است.

یکی از پروژه‌هایی که شرکت Mimag آن را هدایت کرده است «هیدروپروسس pisel/Kerosen و دوباره ساخت CCR» بوده است که در پالایشگاه Zmit از ناحیه Tupras اجرا شده است.

(Turkey Turpas یکی از بهترین شرکتها است که عایدات بسیار زیادی از طریق فروش به دست آورده است. مقاوم‌سازی عمودی و افقی بعضی از سیلوها در پروژه ذکر شده بود. اطلاعات واقعی که ما استفاده کرده‌ایم، از پروژه «سیستم رفتاری مصرف آب» که در Adana هدایت شده است می‌باشد. این پروژه جهت مقاوم‌سازی تخته سنگها بود. جهت مشخص کردن مقدار الوار فلزی استفاده شده در بتون مقاوم‌سازی شده، روشهای مختلفی جهت می‌نیمم کردن مقدار براده آهن استفاده شده به کار برده شده الوارهای فلزی استاندارد استفاده در بتون‌های فلزی مقاوم شده ۱۲۰۰cm هستند و قطرهای مختلفی از ۶mm تا ۵۰mm دارند (شکل b1) این فلزات مختلف با طولها و قطرهای مختلف می‌بایستی با روشی کارا جهت می‌نیمم کردن براده آهن استفاده شود. مدل ریاضی برای برش یک بعدی در زیر آمده است:

مجموعه الگوها I: مجموعه‌ها

مجموعه طولها J:

تعداد الوارهای بریده شده مطالق الگوی i Xi: متغیرهای طرح

تعداد تکه‌ها با طول j داخل ی الوار با الگوی I    aij=: پارامترها

تعداد تکه‌های مورد نیاز از طول j   bj:

 Min :مدل

s.t

xi  عدد صحیح استxi

 

{

هدف طرح می‌نیمم کردن اعمال قابل مشاهده (۱) است که شامل تعداد کل الوارهای فلزی مورد استفاده می‌باشد. مجموعه محدودیتهای (z) از بریدن شدن تعداد کافی از الوارهای کوتاه‌تر از الوار بلند اطمینان می‌دهد. متغیرهای طرح همگی به مقادیر غیر منفی محدود می‌شوند.

یکی که می‌توانست مشکل را به صورت بهینه حل کند به وسیله استفاده از حل کننده p/mp ارائه شد برای حل مقادیر بزرگی از موجودیت‌ها خوانندگان می‌توانند به مقاله Gomory , Gilmore در سال ۱۹۶۱ رجوع کنند.

حل کردن از طریق مدلسازی به صورت GAMS: اولین راه حلی که ما برای حل مشکل شرکت Migma دنبال نمودیم استفاده از مدل GAMS جهت ساختن و حل کردن یک فرمولاسیون lp بود.

ما مدل GMS خودمان را بر پایه اطلاعات به دست آمده در Kalvelgen در سال ۲۰۰۳ نهاده‌ایم.

ما در ابتدا یک مدل lp برای یکی از پروژه‌های پروژه Tupras ساختیم که این مدل شامل ۸ طول مختلف بر طبق ضمیمه A بود. یک فایده استفاده از GAMS این است که می‌توانید اطلاعات را به صورت ماتریس و بردار بنویسند. فایده دیگر این است که می‌توانید مطمئن باشید راه‌حل بهینه پیدا می‌شود. به هر حال اشکالات بزرگی هم این نظریه دارد که عبارتند از:

۱. الگو نمی‌تواند توسط زبان مدلسازی GAMS پیاده شود. آن الگوها باید توسط یک برنامه مجزا که برای اهداف کلی‌تری نوشته شده است مثل C++ پیاده سازی شود.

۲. اضافه کردن الگوی جدید نیازمند شکافتن مدل GAMS و اضافه کردن یک سطر جدید به مکان مربوطه است. مدلسازی GAMS بسیار به نشانه‌های غیرصحیح حساس است و می‌دهد پیغام خطای «تفسیر سخت» را هنگامی که نشانه‌های استفاده شده غلط باشند بدهد.

گسترش برنامه بهینه‌سازی lp 

کمبودهای استفاده از یک سیستم مثل سیستم GAMS ما را به سوی گسترش یک برنامه بهینه برای حل مسائل هدایت نمود. ما یک برنامه C++ نوشته بودیم که فراهم کننده الگوی اطلاعات ورودی به مدل GAMS بود. به هر حال این اجرای اولیه یکسری از حلقه‌های مجاور را نیز اجرا می‌کرد (یک لوپ برای هر طول جدید) که این امر جهت به وجود آمدن یک الگوی ساده صورت می‌گرفت. همانطور که اجرا نیاز به اعمال تغییرات source codes جهت اطلاعات زیر پروژه‌ای جدید دارد بنابراین هر زیر پروژه نیز تعداد مختلفی از طورها مورد نیازش واقع می‌شود. در ضمن هر تغییر کد در GAMS سبب می‌شد که چون این نرم‌افزار یک نرم‌افزار تجاری بود با هر بار تغییر، مصرف کننده نیاز به یک خرید جدید داشته باشد. بنابراین نیاز به داشتن یک سیستم مدلسازی open-source و شارژ مجانی ضروری به نظر می‌رسید.

p-solve یک حلال مجانی مبتنی بر الگوریتم معکوس برای حل مشکلات برنامه‌نویسی خطی (lp) و کلیکی جهت حل مشکلات lp و Mlp می‌باشد. همانگونه که فکر می‌شد این نرم‌افزار توسط ANSIC گسترش داده شد که می‌تواند توسط سایر زبانها برنامه‌نویسی مثل C++ و java و C# و ویژوال بیسیک به خوبی فراخوانی شود. ما همچنین کد را به برنامه java تغییر دادیم تا استفاده کنندگان بتوانند از قابلیتهای فراوان این برنامه استفاده کنند. ما از \”java wrapper\” که جهت فعال کردن ارتباط بین موتور اصلی lp-solver با java استفاده می‌شود، استفاده نمودیم. و کد خود را به صورت Eclipse IDE در آوردیم.

برنامه جاوای ما اطلاعات را از یک فایل متنی می‌خواند و سپس به طور مؤثری یک آرایه که جایگزین الگو (مدل) ما بود را به وجود می‌آورد سپس LP-solve را جهت ساختن و حل کردن یک مدل LP فراخوانی می‌نمود.

در حال حاضر برنامه ما یک اینترفیس می‌نیمم شده دارد (می‌نیمم شده به دلیل اینکه GUL وقت cpu را می‌گیرد و حل مسئله برش به کندی انجام می‌شود). برنامه مسئله برش را برای مدلهای کوچک تا ۱۷ نوع طول ظرف مدت ۱ دقیقه حل می‌نماید. اگر طولهای مختلف بیشتر شده و به ۲۵ طول مختلف افزایش یابد بیشتر از ۱۰ دقیقه برای حل آن وقت لازم است. راه حل ممکن برای حل این مشکل برش یعنی از طول‌ها از طولهای بلندتر است.

استفاده از نرم‌افزارهای تجاری

یک راه‌حل دیگر برای حل مسئله Mimag احتمال کردن نرم‌افزارهای برش تجاری موجود در روی اینترنت بود. این بسته‌های نرم‌افزاری از طریق جست و جو در موتور گوگل با نوشتن کلمات \” ۱ dimensional cutting stock prog\” در دسترس قرار می‌گیرند. ۳۰ صفحه اول صفحات لیست تمام نرم‌افزارهای اجرایی این موضوع می‌باشند فقط ۷ بسته نرم‌افزاری به صورت نسخه نمایشی بر روی اینترنت بود که می‌توانست موجودیت‌های بیشتر از ۲۵ طول مختلف را برای ما انجام دهد. این نرم‌افزارها و وب سایت آنها در ضمیمه B لیست شده‌اند.

Benchmark کردن نتایج:

بعضی از سوالات مهمی که ممکن در ذهن بیاید در زیر آمده است:

اثرات بسته‌های نرم‌افزاری دانلود شده چگونه می‌تواند با برنامه ما قابل قیاس باشد؟

برنامه تجاری مختلف را چگونه می‌توان با هم مقایسه کرد؟

آیا استفاده از دو نرم‌افزار مختلف در یک زمان برای هر زیر پروژه و اجرای بهتر هر یک از این دو راه حل کار درستی است؟

ایا دسته بندی کردن زیر پروژه‌ها و انتخاب بهترین راه حل بر هر دسته از این زیر پروژه‌ها کارایی را افزایش می‌دهد؟

ما جوابهایی را برای سه سؤال اول بر پایه اطلاعات Mimga پیدا کردیم. برای پاسخ به سؤال چهارم، ما نیاز به داشتن یک نمای عینی که نیازمند کشیدن یک چارت برای مشخص کردن زیر پروژه‌ها است، داریم. ما این نمای عینی را در بخش بعدی آماده نموده‌ایم.

همانگونه که در جدول ۱ دیده می‌شود برنامه جاوا نوشته شده توسط ما فراتر از کارایی‌های همه برنامه‌های تجاری بود. این امر از لحاظ طبیعی قابل انتظار بود زیرا ما از تئوری بهینه‌سازی می‌دانیم که راه حل lp مقادیر بهینه شده‌ای را در اختیار ما می‌گذارد. مورد بعدی که می‌بایست توجه شود این است که هیچکدام از این بسته‌های نرم‌افزاری تجاری به مقدار بهینه تعداد کل الوارها نرسیده‌اند. بنابراین این امر نشان می‌دهد که بسته‌های نرم‌افزاری یک الگوریتم بهینه نیستند اما می‌توانند تکنیکهای ابتکاری را به اجرا در آورند. ما متوجه شدیم که پنج بسته نرم‌افزاری اول راه‌حل‌های بسیار نزدیک به راه حل بهینه بر پایه قیمت، در دسترس بودن، پشتیبانی online و به ما می‌دهند. در یک نگاه کلی نرم‌افزار ۶، نرم‌افزار ۷ به طور خالص (کامل) اجرایی شدند. شرکتها از استفاده از نرم‌افزار ۷ خودداری می‌کنند. زیرا این نرم‌افزار گران‌ترین نرم‌افزار بین نرم‌افزارهای ما هستند نرم‌افزار ۷ فقط با ارسال اطلاعات به Excel از دیگران مشخص می‌شود. نرم‌افزار ۶ بهترین Gul را در قیاس با دیگران در اختیار دارد. بنابراین انتخاب نرم‌افزار باید بر پایه پارامترهایی مثل:

۱. تست کارایی ۲. نسبت قیمت ۳. قابلیت ورود و خروج ۴. Gul باشد. ما از پاسخگویی به سؤالات ۱ و ۲ دور شدیم در جواب باید گفت که تا زمانی که بسته‌های نرم‌افزاری وظایف خویش را بسیار نزدیک به حالت بهینه عملی می‌کنند هیچ نیازی به استفاده از ۲ بسته نرم‌افزاری دیگر نیست. اکنون ما یک دیدگاه عینی برای طراحان جهت انتخاب ترکیب زیر پروژه ـ قطر که می‌توانند جهت دسته‌بندی برای برش استفاده شدند ارائه کنیم. این دیدگاه پاسخ به سؤال ۴ در قسمت قبلی است. ما دریافتیم که دیدگاهی که ما در زیر توضیح خواهیم داد در تعداد الوارهای بلند می‌تواند کاهش ایجاد کند و همچنین می‌تواند جهت استفاده در بسته‌های نرم‌افزاری برش پیشنهاد شود.

شکل ۲ نشان می‌دهد که چارتی را که ما پیشنهاد کرده‌ایم (که با نقطه نشان داده شده است) بیان کننده ترکیب زیر پروژه ـ قطر خواهد بود. محور x تعداد بهینه الوارهای استفاده شده و محور y بیان کننده قطر و رنگ نقاط نشان دهنده استفاده بهینه به درصد است. رنگهای سیاه مشخص کننده استفاده کمتری برای هر زیر پروژه است. برای به وجود آوردن این چارت مسئله برش برای هر زیر پروژه، حل شده است و سه مقداری که قرار است در چارت نمایش داده شود محاسبه شده است.

دیدگاهی که ما پیشنهاد کرده‌ایم به صورت زیر است:

۱. با بلندترین قطر روی محور y شروع کنید و نقاطی را که روی سطر مقیم هستند مشخص نمایید. ما از بزرگترین قطر شروع کردیم تا قیمت الوار فلزی بسته به وزن باشد که این کار یکی از اعمال چهارگانه ماست.

۲. اگر نقطه‌ای با رنگ سیاه روی سطر وجود داشت که مقدار بزرگی روی محور x داشت آن را با نقطه دیگری دسته‌بندی کنید به عنوان مثال در شکل ۲ ما نقاط B , A را دسته‌بندی کرده‌ایم.

۳. امتحان کنید آیا دسته‌بندی کردن هیچ فایده‌ای برای شما به همراه آورده است یا نه؟

اگر فایده‌ای به همراه داشته است تمام نقاط را دسته‌بندی کنید اگر دسته‌بندی فایده‌ای نداشته است به صورت جداگانه برای هر نقطه کار حل مشکل را ادامه دهید.

۴. به مرحله ۱ برگردید با توجه به قطر کوچک بعدی تا زمانی که نتوانید هیچگونه امکان دسته‌بندی مفید به دست آورید. برای نمونه امکان بعدی دسته بندی در شکل ۲ ترکیب نقاط D , C است.

هنگامی که ما دیدگاه خویش را اعمال نمودیم ما دریافتیم که دو پروژه مورد توجه (Lzmit , Adana) نمی‌توانند هیچ فرصت پیشرفتی را از طریق ترکیب شدن داشته باشند. حتی دریافتیم که ترکیب شدن سبب بد عملکرد آن می‌شود. بنابراین سازنده طرح نباید نگران دسته‌بندی در همه موارد باشد. در پروژه‌هایی که تعداد زیادی زیر پروژه‌اند و همچنین نقاط زیادی الوار فلزی قابل بریده شدن دارند استفاده از این روش فرصتهای پیشرفت خوبی در اختیار استفاده کنندگان آن قرار می‌دهد. ما پیشنهاد می‌کنیم که تحقیقات وسیعتر در آینده در این زمینه انجام شود. نکته مهم دیگری که باید مد نظر داشت در زمینه کارهای فهرست اموال اضافی است که از طریق انجام می‌شود که از این طریق پول و زمان زیادی از بین می‌رود.

نتیجه

انگیزه مواجه شدن با مشکلات دنیا سبب شده است که ما بسیاری از نرم‌افزارهای آماده برش را جهت حل این مشکل تست کنیم. یافته‌های ما نشان می‌دهد که برنامه‌های آماده ابتدا باید با داده‌های شرکت تطبیق داده شوند. ما دریافتیم که نرم‌افزارهایی با قابلیت import/export. Gui خوب عملکرد بسیار کاملی دارند. با توجه به اینکه قیمت بالا هرگز عملکرد خوب را در همه موارد به دنبال نخواهد داشت اما بدترین نرم‌افزارها هم در بحث بسیار گران هستند. ما به یک دیدگاه بهینه در این مقاله رسیدیم که می‌توان با لحاظ کردن آن در نرم‌افزارها به طرح‌های جذابی از طریق تقسیم‌بندی کردن به زیر پروژه‌ها دست یافت.

 

 

 

منبع :پدیدا بزرگترین مرجع علمی ایرانیان

ارسال نظر