BULL-ODE: ماجرای کنترل موجودی با هوش مصنوعی و معادلات دیفرانسیل!

Fall Back

خب بچه‌ها، امروز میخوایم درباره یه موضوع جالب و البته کمی تخصصی حرف بزنیم که هم به کسب‌وکار و زنجیره تامین مربوطه و هم پای هوش مصنوعی و معادلات دیفرانسیل وسطه! کلی چیز باحال قراره یاد بگیریم، پس همراه باشین.

ماجرا از اینجا شروع میشه که توی فرایند موجودی‌داری یا همون موجودی انبار وقتی تقاضا نامطمئنه (مثلاً معلوم نیست مشتری‌ها چقدر خرید میکنن)، ممکنه یه پدیده معروف به اسم اثر شلاق یا همون Bullwhip Effect رخ بده. اثر شلاق یعنی توی زنجیره تامین، کوچیک‌ترین تغییر تو تقاضا می‌تونه خیلی شدیدتر بشه و کل سیستم رو به هم بریزه!

حالا دانشمندا و مهندسای هوش مصنوعی اومدن روی این قضیه کار کردن تا ببینن چطور میشه هم رفتار موجودی رو تو زمان پیوسته (یعنی نه مرحله‌ای، بلکه مثل یه فیلم) مدل‌سازی کرد و هم پیش‌بینی گرون‌تر و هوشمندانه‌تری از آینده سیستم داشته باشیم. یکی از کارهایی که کردن استفاده از هوش مصنوعی‌ای به اسم Neural ODE یا مثلاً NODE بود. این تکنیک یعنی معادلات دیفرانسیل عصبی – همون معادلاتی که توی ریاضیات با یه مشت مشتق و معادله سر و کار دارید، منتها اینجا دیگه مغزش ماشینیه و خودش یاد می‌گیره!

یه رویکرد جالب دیگه هم هست به اسم UDE یا Universal Differential Equation. یعنی یه معادله دیفرانسیل همه‌کاره که ترکیبی از اصول فیزیکی و یادگیری ماشین رو با هم داره: بخشی از قواعد سیستم (مثلاً حفظ مقدار کل موجودی یا قوانین سفارش‌دهی) رو خودش روش قفله و یه بخش کوچیک‌تر دست هوش مصنوعیه تا هرجا لازم شد تنظیمش کنه.

حالا سوال مهم اینجاست که استفاده از ساختار و قواعد فیزیکی واقعی بهتره یا اینکه همه چیز رو بسپاریم دست مدل یادگیرنده؟ کِی ساختار سفت و سخت کمک میکنه و کِی فقط دست‌وپامونو می‌بنده؟

برای جواب دادن به این سوال، تو این تحقیق اومدن سه حالت مختلف تقاضا رو در نظر گرفتن:
۱. AR(1): یعنی تقاضایی که خودش با خودش تو زمان‌های مختلف وابسته‌ست.
۲. i.i.d. Gaussian: این یکی یعنی تقاضا کاملاً تصادفیه و براساس یه توزیع نرمال.
۳. Heavy-tailed lognormal: اینا همون موقعیت‌هایی هستن که گاهی یه اتفاق عجیب می‌افته و یه‌دفعه تقاضا زیاد میشه – مثلاً مثل روز جمعه سیاه!

اونا برای هرکدوم از این حالت‌ها، مدل NODE (که کاملاً یادگیری محوره) و مدل UDE (که توش بخشی از ساختار حفظ شده) رو آموزش دادن و بعد رفتن سراغ پیش‌بینی رفتار موجودی، نرخ سفارش و خودِ تقاضا تو چند گام آینده.

نتیجه‌ها خیلی جالب بود: وقتی تقاضا حالت نرمال یا AR(1) داشت (یعنی سر و تهش معلومه، خیلی پرت و پلا نیست)، UDE که ساختار داره همیشه بهتر پیش‌بینی کرده. مثلاً اگه ۹۰٪ داده‌های آموزشی رو بهش بدی، خطای موجودی در مدل NODE حدود ۴.۹۲ و تو UDE فقط ۰.۲۶ بوده (سر به فلک کشیده!). یا مثلاً توی Gaussian، این خطا از ۵.۹۶ به ۰.۹۵ کم شد.
اما وقتی اون حالت لگ‌نرمال با دم سنگین پیش میاد (یعنی بعضی وقتا یه اتفاق خیلی خاص می‌افته)، اینجا NODE که دستش بازتره و ساختارش سفت و سخت نیست بهتر عمل میکنه.

یه اتفاق باحال دیگه هم این بود که اگه داده کم بشه (یعنی مثلاً فقط بخشی از روند تقاضا تو دسترسته)، تو NODE مدل شروع میکنه “فاز مسابقه با خودش” رو در پیش میگیره – یعنی پیش‌بینی‌هاش هی بیشتر از واقعیت منحرف میشن. اما UDE همچنان پایداره ولی دیگه به این شوک‌های خاص سریع واکنش نشون نمیده.

خلاصه کلام:
• تو موقعیت‌هایی که سروصدا و تصادف کمه یا تقاضا الگو داره، بهتره ساختار واقعی رو به مدل یاد بدی (یعنی یه کم محدودش کنی).
• اگه دائم با شرایط نادر و شوک شدید سروکار داری (مثل زمانی که قفسه‌ها یهویی خالی میشن!)، باید ساختار رو بازتر بذاری تا مدل بتونه این حالت‌های افراطی رو هم یاد بگیره.

این نتیجه فقط درباره کنترل موجودی نیست! بلکه هر جا میخوای ترکیبی از مدل‌سازی علمی و یادگیری ماشینی بزنی، این فوت و فن به دردت می‌خوره؛ مخصوصاً وقتی قوانین پایدار مهم باشن یا برعکس، وقتی شوک و حالت‌های نادر سیستم رو می‌چرخونه.

پس دفعه دیگه ای کسی گفت: “هوش مصنوعی می‌تونه جای همه چی رو بگیره؟” یادت بیاد که ترکیب قوانین علمی با هوش مصنوعی، بسته به شرایط، می‌تونه معجزه کنه یا حسابی کار رو خراب کنه!😉

منبع: +