بهینه‌سازی (Optimization) مشکلِ روابط عمومی دارد! – راهکارهایی برای توضیح به مادربزرگ

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

خیلی شنیدیم که وقتی بخواهیم یک ایده را ساده توضیح بدیم، ابتدا باید برای مادربزرگمان قابل توضیح باشد. حالا به لحظه‌ای که مردم کلماتی مثل «برنامه‌ریزی عدد صحیح مختلط» (Mixed-Integer Programming) یا «بهینه‌سازی محدب» (Convex Optimization) را می‌شنوند فکر کنید، ذهنشان بی‌سروصدا درِ ورودی را می‌بندد! این مفاهیم در نظرشان انتزاعی، به‌شدت ریاضی و حتی کمی ترسناک به نظر می‌رسد.

اما نکته جالب اینجاست: ایده‌های اصلی بهینه‌سازی را می‌توان تنها با سه تصویر ذهنی ساده توضیح داد.

شما باید بهینه‌سازی را همه‌جا «ترجمه» کنید

اگر در حوزه بهینه‌سازی کار می‌کنید، دیر یا زود به این لحظه می‌رسید:
* یک همکار از دپارتمان دیگر می‌پرسد مشغول ساخت چه چیزی هستید؟
* یک مدیر می‌پرسد چرا مدلِ بهینه‌سازی شما شش ساعت در حال اجرا بوده است؟
* یک مشتری می‌پرسد آیا مدل شما واقعاً می‌تواند برنامه‌ریزی آن‌ها را بهبود ببخشد؟

و ناگهان می‌بینید که دیگر فقط در حال حل مدل نیستید؛ بلکه در حال ترجمه بین سه دنیای متفاوت هستید:
1. تصمیمات تجاری (Business Decisions)
2. مدل‌های ریاضی (Mathematical Models)
3. سیستم‌های نرم‌افزاری (Software Systems)

افراد شغل مشاوره‌شان را «مترجمی بین این دنیاها» تعریف می‌کنند. ما مسائل تجاری را به ریاضیات تبدیل می‌کنیم، ریاضیات را به کد (نرم‌افزار) می‌بریم و دوباره نتایج را به زبانِ کسب‌وکار برمی‌گردانیم. اما ترجمه فقط زمانی کار می‌کند که به زبانی صحبت کنید که طرف مقابل آن را بفهمد. و آن زبان، تقریباً همیشه «استعاره» است.

استعاره‌ی «سوزن در انبار کاه»

اغلب با مشتریانی صحبت خواهید کرد که شیفته‌ی بهینه‌سازی هستند. آن‌ها حس می‌کنند قدرت بزرگی در این ابزار نهفته است، اما دقیقاً درک نمی‌کنند که بهینه‌سازی چه کار می‌کند و به آن اعتماد کافی ندارند. اگر بخواهیم برایشان از درخت‌های «شاخه و حد» (Branch-and-Bound) یا «کران‌های دوگان» (Dual Bounds) بگویم، احتمالاً در ۲۰ ثانیه اول آن‌ها را از دست می‌دهیم. پس به جای آن می‌گویم:

«تصور کنید به دنبال یک سوزن در یک انبار کاه عظیم هستید. روشِ ساده‌انگارانه این است که تک‌تک ساقه‌های کاه را بردارید تا سوزن را پیدا کنید. این روش جواب می‌دهد، اما ابدیت طول می‌کشد!»

الگوریتم‌های بهینه‌سازی هوشمندانه‌تر عمل می‌کنند. آن‌ها انبار کاه را از وسط نصف می‌کنند و می‌پرسند: «کدام قسمتِ انبار ممکن است سوزن را در خود داشته باشد؟»

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

این دقیقاً همان کاری است که الگوریتم Branch-and-Bound انجام می‌دهد.

 سه استعاره‌ای که اکثر مباحث بهینه‌سازی را توضیح می‌دهند

شما را به چالش می‌کشم تا موقعیتی را پیدا کنید که در آن برای توضیح بهینه‌سازی به یک فرد غیرمتخصص، هیچ‌کدام از این سه استعاره کاربردی نباشد:

 

۱. چشم‌انداز کوهستانی (The Mountain Landscape)

تصور کنید در مه غلیظ در حال کوهنوردی هستید. هدف شما رسیدن به بلندترین قله است، اما فقط چند متر اطراف خود را می‌بینید. پس یک قدم به سمت سربالایی برمی‌دارید. در نهایت به نقطه‌ای می‌رسید که از آنجا در هر جهتی حرکت کنید، شیبِ راه پایین می‌رود. تبریک می‌گویم! شما به یک بهینه محلی (Local Optimum) رسیده‌اید. اما قله‌ی اصلیِ کوه ممکن است جای دیگری باشد. بسیاری از الگوریتم‌های بهینه‌سازی دقیقاً با همین چالش دست‌وپنج نرم می‌کنند: چگونه در دامِ قله‌های اشتباه نیفتیم؟

۲. فروشنده‌ی دوره‌گرد (The Traveling Salesman)

این مثال کلاسیکِ «تحقیق در عملیات» است. یک فروشنده باید از چندین شهر دقیقاً یک بار بازدید کند و به خانه برگردد. کوتاه‌ترین مسیر ممکن چیست؟ با ۱۰ شهر، شما بیش از ۱۵۰,۰۰۰ مسیر ممکن دارید. و با ۲۰ شهر، این عدد فراتر از تصور منفجر می‌شود! به این پدیده انفجار ترکیبیاتی (Combinatorial Explosion) می‌گوییم. بهینه‌سازی، هنرِ پیمایشِ کارآمد در این فضای عظیمِ احتمالات است.

 ۳. سوزن در انبار کاه (The Needle in the Haystack)

وقتی تعداد احتمالات سرسام‌آور می‌شود، «جستجوی فراگیر» (Brute Force) دیگر کارساز نیست. پس به هوشمندی نیاز داریم: فضای جستجو را تقسیم کن، بخش‌های بزرگی که نمی‌توانند حاوی جواب بهینه باشند را دور بریز و توانِ محاسباتی را دقیقاً در جایی متمرکز کن که بهترین راه‌حل‌ها احتمالاً در آنجا پنهان شده‌اند.

بحث‌های مختلف در یک تماس تصویری که من رو کنجکاوتر کرد!

برای من باعث افتخاره که دوستانی از دبیرستان دارم که حالا به کانادا مهاجرت کردند و با وجود فاصله‌ی هزاران هزار کیلومتری با هم، معرفت به خرج می‌دن که با هم گاهی تماس تصویری داریم. توی تماس تصویری اخیری که با هم داشتیم، مسئله‌ای پیش اومد. از این لحاظ که روانشناسی و اقتصاد هر دو شبه‌علم هستند و حتی یک بین‌رشته‌ای به وجود اومده که بهش می‌گن «اقتصاد رفتاری» یا همون Behavioral Economics.

در واقع این رشته می‌آد عواملی، مثل احساسات، روندهای اجتماعی و شناختی جامعه رو بررسی می‌کنه تصمیم‌گیری‌های مالی رو تحلیل یا پیش‌بینی کنه. جا برای بحث توی این زمینه زیاده که توی این پست نمی‌گنجه.

اما چرا توی عنوان گفتم که من رو کنجکاوتر کرد؟

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

در ادامه به این می‌پردازیم که یه مهندس تحقیق در عملیات که حتما پایه ریاضیاتی قوی‌ای قراره داشته باشه، به توسعه مدل‌های اقتصادی قراره کمک کنه.

وقتی بخواهیم به عنوان «مهندس تحقیق در عملیات» کار کنیم، به اختصار باید کارهای زیر رو انجام بدیم:

  • مدلسازی ریاضی مسائل واقعی
  • حل مسائل بهینه‌سازی
  • تحلیل سیستم‌های پیچیده و عدم قطعیت
  • پشتیبانی تصمیم‌گیری مدیران
  • ترکیب با علم داده که کمی مدرن‌تر است

کجا یه مهندس تحقیق در عملیات کار می‌کنه؟

  • تولید و کارخانه
  • لجستیک و حمل و نقل
  • بانک و بیمه
  • انرژی
  • سلامت
  • استارتاپ‌های تکنولوژیکی
  • تیم‌های تحلیل داده

حالا من می‌آم چند حوزه کلیدی رو که مهندس تحقیق در عملیات در اقتصاد می‌تونه ایفای نقش کنه می‌گم:

۱- مدیریت و تحلیل ریسک:

اقتصاد مالی و اقتصاد سنجی، ابزارهای کمی قدرتمندی برای مدلسازی عدم قطعیت، قیمت‌گذاری ریسک و تصمیم‌گیری در شرایط احتمالی هستند. در پروژه‌های واقعی تحقیق در عملیات (مثل مدیریت زنجیره تامین، برنامه‌ریزی تولید یا سرمایه‌گذاری) درک عمیق مفاهیمی مثل «ارزش در معرض خطر»، «بازده مورد انتظار» و «تنوع بخشی» حیاتی هست.

۲- اقتصاد مدیریت و طراحی مکانیزم:

در این قسمت بحث می‌شود که چگونه انگیزه‌های افراد و بازیگران مختلف (مشتریان، رقبا یا تامین‌کنندگان) در مدل‌ها لحاظ بشن.

۳- بهینه‌سازی در سطح کلان و سیاست‌گذاری:

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

۴- تحلیل بازار و پیش‌بینی:

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


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