Table of Contents
طرح های کارآمد انبار برای به حداکثر رساندن استفاده از فضا، بهبود نفوذ و کاهش هزینه های عملیاتی حیاتی هستند. رویکردهای طراحی سنتی متکی به شهود، محاکمه و تروریسم، یا ساده اکتشافی مانند تجزیه و تحلیل ABC است.با این حال، تکنیک های بهینه سازی ریاضی مدرن - به ویژه برنامه نویسی صحیح - دقیق تر، روش های داده محور برای تعیین تنظیمات بهینه.
برنامه نویسی Integer چیست؟
برنامه نویسی Integer (IP) شاخه ای از بهینه سازی ریاضی است که در آن متغیرهای تصمیم گیری محدود به مقادیر صحیح است.در مشکلات چیدمان انبار، بسیاری از تصمیمات ذاتاً گسسته هستند: "در اینجا یک قفسه را قرار دهید یا نه"، " عرض ایزول 4 فوت یا 5 فوت"، "منطقه ذخیره سازی علامت A یا B" می تواند این گزینه های باینری یا صحیح را در حالی که به چنین محدوده تخلیه، محدودیت های بارگیری کف، و بار و بار احترام می گذارند.
اجزای اصلی یک مدل برنامه نویسی صحیح شامل:
- متغیرهای تصمیم گیری: Integer یا متغیرهای باینری که نشان دهنده انتخاب طرح هستند.
- تابع صفت: یک عبارت ریاضی برای به حداکثر رساندن (به عنوان مثال، تراکم ذخیره سازی) یا به حداقل رساندن (به عنوان مثال، فاصله سفر).
- محدودیت های آموزشی: [FLT 1] نابرابری های خطی که محدودیت های فیزیکی، قوانین ایمنی و سیاست های عملیاتی را به خود جذب می کنند.
برای معرفی عمیق تر، مرور برنامه نویسی Integer Guide را ببینید.
چرا برنامه نویسی Integer برای Warehouse Sets؟
محدودیت های روش های اکتشافی
سیاست های معمول اکتشافی مانند "ذخیره سازی مبتنی بر طبقه" یا "ذخیره سازی مجدد" می توانند خوب عمل کنند، اما به ندرت بهینه، نتایج اغلب نمی توانند اهداف رقابتی را متعادل کنند - مانند به حداقل رساندن فاصله سفر در حالی که به حداکثر رساندن استفاده از فضا - و نمی تواند بهینه سازی جهانی را تضمین کند.
مزایای بهینه سازی ریاضی
- بهینه سازی: برای مشکلات متوسط اندازه، حل کنندگان می توانند ثابت کنند که راه حل در یک تحمل مطلوب است.
- تجزیه و تحلیل: مدل های IP اجازه می دهد تا برنامه ریزان محدودیت های مختلف (به عنوان مثال، بودجه، حاشیه ایمنی) و بررسی طرح های Pareto-SEOmal.
- قابلیت های: حل کنندگان مدرن مانند گوروبی، CPLEX، یا گزینه های منبع باز (به عنوان مثال، گوگل OR-Tools) می توانند هزاران متغیر و محدودیت را اداره کنند.
- Integration با داده ها: مدل های IP می توانند از داده های سفارش تاریخی برای طراحی استراتژی های اسلات پویا استفاده کنند.
فرمول کردن مشکل Warehouse Set
متغیرهای تصمیم گیری
متغیرهای معمولی در یک مدل IP چیدمان انبار شامل:
- تجهیزات ذخیره سازی: متغیرهای باینری نشان می دهد که آیا یک قفسه یک سلول شبکه را اشغال می کند.
- پیکربندی: متغیرهای integer برای عرض و جهت گیری (به عنوان مثال، 1 برای شمال-جنوب، 0 برای شرق غربی).
- تخصیص SKUs به مناطق: Integer یا متغیرهای باینری پیوند محصولات به مکان های ذخیره سازی.
- تخصیص درب درب: متغیرهای باینری اختصاص داده شده در ورودی / کشتی.
تابع Objective
اهداف مشترک شامل:
- کل فاصله سفر انتظار می رود [FLT 1] بین مکان های ذخیره سازی و درب های بارانداز، وزن با سرعت محصول.
- [در این میان] ظرفیت ذخیره سازی (FLT:0) به دست آورد[[[۱]] [[۱۰]] [[۱]] [[۱۰]] [۱]] [۱]
- [در این باره] [و] [و] هزینه های بازآفرینی [[۱]] [۱۰] [۱] هنگامی که دوباره بهینه سازی طرح موجود است.
هدف تقریبا همیشه خطی است یا می تواند با استفاده از تکنیک های استاندارد خطی شود.
Constraints
محدودیت های بحرانی شامل:
- [در این باره] فضا: [[۱] [۱۰] [۱] [۱]] [۱] [۱] [۵]] [۵] [۵] [۱]] [۵] [۱] [۵] [۱]] [۵] [۵] [۵]] [۵] [۱] [۱] [۱] [۱] [۵] [۳] [۵] [۵] [۳] [۳] [۵] [۵] [۳] [۵] [۵] [۳] [۵] [۵] [۳] [۵] [۵] [۵] [۳] [۳] [۳] [۵] [۵] [۳] [۳] [۳] [۳] [۳] [۵] [۳] [۵] [۵] [۵] [۵] [۵] [۵] [۳] [۵] [۵] [۳] [۳] [۳] [۵] [۵] [۳] [۱] [۱] [۵] [۳] [۳] [۳] [۳] [۵] [۳] [۳] [۵] [۵] [۵] [۵]
- [[۱] [۱۰] [۱] [۱۰] [۱۰] [۱۰] [۱]] [۱۰] [۱] [۱۰] [۱] [۱۰] [۱]] [۱۰] [۱] [۱۰] [۱۰]] [۱۰] [۱۰] [۱] [۱] [۱۰]
- محدودیت های سختی: ظرفیت بارگذاری کف (به عنوان مثال، حداکثر 5000 پوند در هر سلول شبکه).
- [[۱] [۱۰] مناطق امن: [۱۰] [۱۰] مناطق انحصاری در اطراف آتش خاموش کننده، خروجی و سیستم های آب و هوا.
- [در این باره]: [[[۱]] [۱۰] [۱۰] [۱۰]] [۱۰] [۱۰] [۱۰] [۱] [۱۰]] [۱۰] [۱] [۱۰] [۱۰] [۱]] [۱۰] [۱۰] [۱] [۱] [۱۰] [۱] [۱] [۱] [۱] [۵] [۱] [۵] [۵] [۱] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۱] [۵] [۵] [۱] [۱] [۵] [۱] [۱] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۱] [۱] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۱] [
- جدایی: مواد خطرناک باید از مواد غذایی جدا شوند.
مرحله به مرحله: ساخت یک مدل IP برای Warehouse
مجموعه داده ها
جمع آوری اطلاعات دقیق:
- طرح کف انبار (دیمن ها، ستون ها، موانع)
- ابعاد محصول و وزن در هر واحد
- داده های سفارش تاریخی (تأموریت، حرکت مکعبی)
- مشخصات تجهیزات (forklift Turn رای گیری) - ببینید دستورالعمل های ایمنی لودر
- مقررات ایمنی و کدهای ساختمان
۲- تعریف Grid و Zones
کف را به یک شبکه (به عنوان مثال، 1 فوت × 1 سلول های فوت) سلول های گروه به مناطق منطقی (بازداری، ذخیره سازی عمده، انتخاب، حمل و نقل) تبدیل کنید.هر منطقه ممکن است محدودیت های مختلفی داشته باشد (به عنوان مثال، منطقه انتخاب نیاز به قفسه های پایین برای دسترسی آسان دارد).
۳- تنظیم متغیرهای و معادلات
با استفاده از یک زبان مدل سازی (Python با PuLP یا Pyomo، AMPL یا GAMS)، ایجاد کنید:
- متغیر باینری (FLT:0) = 1 اگر قفسه سلول (i,j)، دیگر 0 را اشغال کند.
- متغیر مداوم (FLT 1) نشان دهنده فاصله بین اسکله k و محل ذخیره سازی است.
- هدف: به حداقل رساندن خلاصه در تمام انتخاب ها (فاصله فرکانس ×)
- Constraints: قفسه های غیر همپوشانی، اجرای عرض راهرو، و غیره.
۴- حل و اعتبار
برای موارد بزرگ، ممکن است لازم باشد از استارت آپ های گرم و یا decomposition استفاده کنید (به عنوان مثال، نسل ستون) راه حل را با شبیه سازی عملیات روزانه با استفاده از داده های سفارش موجود، با استفاده از محدودیت های تنظیم شده، اگر طرح ها نیازهای عملی را نقض کنند (به عنوان مثال، ترخیص برای جک های پالت).
مطالعات موردی: برنامه های کاربردی واقعی جهانی
مرکز توزیع خرده فروشی
یک خرده فروشی متوسط DC از برنامه نویسی صحیح برای طراحی مجدد منطقه انتخاب رو به جلو استفاده کرد.با به حداقل رساندن فاصله سفر در 5000 SKUs، آنها زمان انتخاب را به 22٪ کاهش دادند. طرح بهینه قرار دادن آیتم های با سرعت بالا در یک منطقه مرکزی "طلایی" با aisles کوتاه، در حالی که کالاهای کم سرعت به ذخیره سازی عمیق تبدیل شد.
انبار ذخیره سازی سرد
برای یک مرکز کنترل دما، فضا گران است.یک مدل IP تعداد موقعیت های پالت را به حداکثر رساند در حالی که اطمینان از عرض های راهروی را در محدوده های باریک و باریک قرار می دهد، نتیجه افزایش 15٪ در تراکم ذخیره سازی بدون در دسترس بودن است.
چالش ها و مییگاد ها
پیچیدگی محاسباتی
برنامه نویسی Integer NP-hard است؛ مشکلات بزرگ (هزاران سلول، صدها SKU) ممکن است ساعت ها یا روزها برای حل بهینه سازی طول بکشد.
- [[۱] [۱۰] [۱] [۱] [۱۰] [۱] [۱]] [۱۰] [۱] [۱] [۱]] [۱۰] [۱]] [۱] [۱۰] [۱]] [۱۰] [۱] [۱] [۱۰]] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۳] [۳] [۳] [۳] [۱] [۱] [۳] [۳] [۱] [۱] [۱] [۱] [۳] [۱] [۱] [۱] [۱] [۱] [۱]]] [۱]]]]] [۳] [۳] [۳] [۱] [۱] [۳] [۱] [۱] [۳] [۱] [۱] [۱] [۳] [۱] [۱] [۱۰] [۱] [۱] [۱] [۳] [۱] [۱] [۱] [۱] [۱] [۳] [۳] [۱] [۳] [۳] [۱] [۱] [۱] [۱] [
- از اکتشافی استفاده کنید: ابتدا یک برنامه نویسی خطی آرام را حل کنید، سپس راه حل های نیمه هادی را دور کنید.
- [[۱] [۱۰] حل کننده های اقتصادی: [[۱۰] [FLT ۱]] گوروبی و CPLEX ارائه پیش از حل و فصل و موازین پیشرفته.
- محاسبات ابری: اجاره نمونه های بلند مدت برای بهینه سازی کوتاه مدت.
عدم قطعیت داده ها
الگوهای تقاضا فصلی تغییر می کنند، ایجاد یک طرح استاتیک زیر بهینه سازی قوی یا برنامه ریزی تصادفی می تواند عدم اطمینان را مدیریت کند، اما این پیچیدگی مدل افزایش می دهد.یک رویکرد عملی این است که مدل IP را به صورت سه ماهه با داده های به روز شده، دوباره فقط یک بخش از SKU ها را برای جلوگیری از اختلال دوباره اجرا کند.
ادغام با WMS
طرح بهینه سازی شده باید عملیاتی باشد.کار با سیستم مدیریت انبار (WMS) برای به روز رسانی مکان های بن، مسیرهای انتخاب و قوانین دوباره پر کردن. بسیاری از سیستم عامل های WMS (به عنوان مثال، منهتن، SAP EWM) از API ها برای تغییرات طرح پشتیبانی می کند.
بهترین روش ها برای اجرای
شروع کوچک، آن را
با یک منطقه واحد (به عنوان مثال، منطقه انتخاب سریع حرکت) قبل از مقابله با کل انبار شروع کنید، مدل را در برابر چند هفته از داده های تاریخی معتبر کنید.
عملیات های داخلی
راه حل های برنامه نویسی Integer ممکن است طرح هایی را پیشنهاد دهند که به نظر می رسد خوب بر روی کاغذ اما نادیده گرفتن quirk های دنیای واقعی - مانند یک ستون که مانع یک ردیف کامل می شود، یا یک مدل مخصوص لودر که نیاز به فضای اضافی دارد، با سرپرستان پیاده روی کف با محدودیت های ضمنی.
استفاده از Visualization
صادرات راه حل برای یک بیننده CAD مانند یا یک نقشه گرمایی که نشان می دهد هر سلول SKU اختصاص داده شده است، این به ذینفعان کمک می کند تا به طور شهودی درک و تایید طرح ابزار مانند Matplotlib پایتون یا نرم افزار شبیه سازی اختصاصی طرح می تواند شکاف را پل.
ابزار و منابع
گزینه های حل کننده
- [[[ویرایش]
[FLT: Fast] از MIPهای بزرگ علمی رایگان پشتیبانی می کند.[۵][۱۰] [FLT: ۶] بی ام سی [FLT: ۷] صنعت با ابزارهای خطی سازی قوی. - [[ویرایش] [[[۱]] [[۱۰]] [[۱۰]] [[۱۰]]] [[۱۰]]] [[۱۰]]] [FLT: ۴] کتابخانه پایتون / C++، برای برنامه ریزی و بسته بندی مشکلات مفید است.[۱۰]
[۶] [FCOIN-OR [۴][۴][۵][۵][۵][۲][۵][۵][۵][۲][۲][۲][۲][۵][۵][۲][۲][۵][۲][۲][۲][۲][۲][۲][۵][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۴][۲][۲][۲][۲][۲][۲][۵][۲][۲][۲][۲][۲][۲][۲][۲][۲][۴][۲][۲][۲][۲][۲][۲][۲][
زبان های مدل سازی
- کتابخانه های پیتون: Pyomo، PuLP، و رابط OR-Tools پایتون محبوب برای نمونه سازی سریع است.
- ]AMPL / GAMS: [FLT 1 ] [1 ] اما نیاز به مجوز؛ خوب برای مدل های بزرگ تولید.
نتیجه گیری
برنامه نویسی Integer یک چارچوب دقیق و مبتنی بر داده برای بهینه سازی طرح های انبار برای استفاده بهتر از فضا و بهره وری عملیاتی فراهم می کند، در حالی که نیاز به تلاش پیش رو در جمع آوری داده ها، فرمول بندی مدل و انتخاب حل کننده دارد، بازده - اغلب 15 تا 15٪ بهبود در فضا یا زمان سفر - قابل توجه است، زیرا قدرت محاسباتی افزایش و فن آوری حل کننده بالغ، IP از یک ابزار آموزشی برای تدارکات عملی برای حرفه ای برای حرفه ای است.
با تعریف اهداف روشن، جمع آوری داده های دقیق و ساخت یک مدل آزمایشی کوچک شروع کنید.این کار را با بازخورد از عملیات انجام می دهید و به زودی شما یک طرح دارید که نه تنها فضا را ذخیره می کند بلکه هر انتخاب و خروج را نیز ساده می کند.