دسته بندی محصولات

صبر کن! کجا می خوای بری؟
قبل از اینکه بری از کد تخفیف Fara10
برای 10% تخفیف خرید استفاده کن

قبل از اینکه بری از کد تخفیف Fara10
برای 10% تخفیف خرید استفاده کن

در ریاضیات کلاسیک، مدل های برنامه ریزی خطی بر پایه قطعیت بنا شده اند. فرض بر این است که سود هر واحد کالا یا میزان منابع در دسترس، اعدادی دقیق هستند. اما در واقعیت، مدیران با جملاتی نظیر “سود ما حدود ۵۰۰ میلیون تومان خواهد بود” یا “مواد اولیه در دسترس تقریباً ۱۰۰۰ واحد است” سروکار دارند. برنامه ریزی خطی فازی پاسخی علمی به این عدم قطعیت هاست.
این متدولوژی به جای حذف ابهام، آن را با استفاده از توابع عضویت مدل سازی میکند. در یک مدل برنامه ریزی خطی فازی، ما به دنبال نقطه ای هستیم که نه تنها اهداف را بیشینه کند، بلکه محدودیت های منعطف را نیز تا حد قابل قبولی ارضا نماید. این رویکرد بخشی جدایی ناپذیر از سیستم های تصمیم گیری چند معیاره فازی است که در آن محدودیت های دنیای واقعی با دقت بالاتری مدل سازی میشوند.
در برنامه ریزی ریاضی فازی با فازی در نظر گرفتن پارامترهای مدل، ساختار محدودیت ها و تابع هدف، مدل به صورت فازی فرموله می شود. سپس با استفاده از عملیات مجموعه های فازی و خواص آن مدل فازی به یک مدل برنامه ریزی ریاضی قطعی تبدیل می شود که با حل آن می توان به جواب مدل فازی رسید.

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

در حالت کلاسیک فرض بر این است که ضرایب ماتریس A و بردارهای B و C اعداد قطعی و دقیق بوده، نامعادله در حالت قطعی و حداکثر نمودن تابع هدف نیز در حالت قطعی تعریف می شود. اما بدلیل اینکه تمامی این موارد می تواند به صورت فازی تعریف شود لذا مدل برنامه ریزی خطی فازی یک مدل یگانه و مشخص نیست بلکه بسته به شرایط واقعی و فرضیاتی که برای مدل کردن در نظر گرفته می شود، یک مدل برنامه ریزی خطی فازی بدست می آید. در ادامه مدل به سه نوع متفاوت محاسبه می گردد:
برنامه ریزی خطی فازی | مدل متقارن (Symmetric): در این حالت، هدف و محدودیت ها از نظر اهمیت یکسان هستند. ما به دنبال اشتراک (Intersection) بین تابع هدف و فضای محدودیت ها هستیم. در این مدل، یک متغیر کمکی به نام لاندا (lambda) تعریف میشود که نشان دهنده کمترین میزان رضایت در کل سیستم است و هدف ما بیشینه سازی این لاندا است.
در این مدل تصمیم گیرنده می تواند یک حد پایین کلامی برای مقدار تابع هدف در نظر بگیرید. در نتیجه مدل به شرح ذیل است:

اگر فرض کنیم B و d :


آن گاه خواهیم داشت:

هر سطر از (m+1) سطر مدل، در واقع یک مجموعه فازی است که دارای یک تابع عضویت (µi(x نیز است.تابع عضویت مجموعه فازی ( تصمیم) به صورت ذیل بدست می آید.
µD(x) =min {µi(x)}
از آنجا که تصمیم گیرنده به دنبال حداکثر کردن جواب تابع هدف در فضای جواب مسئله است، در نتیجه جواب بهینه مدل برنامه ریزی خطی فازی به صورت ذیل بدست می آید:
Max min {µi(x)} = max µD(x)
حال باید تابع عضویت (µi(x را مشخص نماییم که به صورت ذیل تعیین می شود:

pi یک مقدار ثابت است که به عنوان حد مجاز انحراف از حد بالای محدودیت است. در نهایت با اعمال یکسری عملیات ریاضی و تبدیل های لازم، مدل برنامه ریزی خطی فازی تبدیل به مدل برنامه ریزی خطی قطعی ذیل می شود:
Max λ
λPi + BiX <=di + Pi i=1,…,m+1
x>=0
اگر جواب بهینه مساله فوق را بردار (λ , X0) فرض کنیم آن گاه X0 جواب حداکثر مدل برنامه ریزی خطی فازی است.
جواب بهینه عبارت روبرو را با تبدیل تابع برنامه ریزی خطی فازی به برنامه ریزی خطی قطعی بدست آورید.
Max X1+X2
S.to
X1 >= 1
Z=1
X2>=1
P0=P1=P2= 1
X1, X2 >=0
مقدار ماتریس A ضرایب X1 و X2 در محدودیت و مقدار ماتریس C ضرایب تابع هدف می باشد.

مقدار Z برابر مقدار مساله و مقدارb برابر عدد سمت راست محدودیت ها می باشد.

برنامه ریزی خطی فازی | مدل نامتقارن (Asymmetric): در اینجا، اهمیت تابع هدف و محدودیت ها یکسان نیست. برای مثال، ممکن است مدیر بر روی بودجه (محدودیت) انعطاف زیادی داشته باشد اما بر روی سود (هدف) دقت بالایی بخواهد. در این شرایط، توابع عضویت متفاوتی برای هر بخش تعریف میشود. فرض کنید مدل به صورت زیر تعریف شده است:

در مدل بالا در هر برش آلفا از محدودیت ها ، مقدار متفاوتی برای تابع هدف در نظر گرفته می شود لذا برای هر برش چنین بیان می کنیم:
حال می توانیم تابع هدف را به وسیله مجموعه فازی زیر تعریف نماییم:


برای حل مساله دو تابع هدف یکی برای F0 و دیگری برای F1 تعریف می گردد.

حال تابع عضویت این دو بازه به صورت زیر تعریف می شود:

حال می بینیم که مجددا میان محدودیت و تابع هدف تقارن وجود دارد لذا می توانیم تابع هدف فازی را به یک تابع هدف قطعی تبدیل کنیم:


Max Z=2X1+X2
S.TO
X1<=3 P1=6
X1+X2<=4
X1, X2 >= 0


یکی از رایج ترین سناریوها در صنعت، زمانی است که “سمت راست” محدودیت ها (مقدار منابع) قطعی نیست. در مدل های برنامه ریزی خطی فازی با ضرایب سمت راست فازی، ما با ظرفیت های متغیر روبرو هستیم.
برای حل این مسائل، ابتدا باید اعداد فازی سمت راست را به مقادیر قطعی تبدیل کنیم. اینجاست که دانش دی فازی سازی به کمک ما میآید. با استفاده از روش هایی مثل مرکز ثقل یا رتبه بندی اعداد فازی، مدل به یک مدل قطعی معادل تبدیل شده و سپس با الگوریتم های کلاسیک حل میشود. این رویکرد به ویژه در مدیریت زنجیره تامین که موجودی انبار همیشه با درصدی از خطا اعلام میشود، کاربرد دارد.
مدل برنامه ریزی خطی فازی در حالی که فقط مقادیر سمت راست محدودیت ها اعداد فازی هستند (bi) به صورت ذیل است:

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

برای هر بردار X=x1,x2,…,xn ابتدا درجه عضویت (Di(x که بیانگر درجه عضویت تامین محدودیت i توسط بردار X است، طبق رابطه ذیل محاسبه می شود:

هر تابع Di(x) تشکیل یک مجموعه فازی در Rn می دهد که اشتراک آن ها منطقه موجه یا فضای جواب مسئله است. به دلیل فازی بودن فضای جواب مساله، تابع هدف نیز فازی می شود. لذا لازم است مجموعه فازی تابع هدف به دست آید. این کار با محاسبه حد پایین و بالا برای مقدار تابع هدف انجام می شود.

تابع عضویت مجموعه فازی مقادیر تابع هدف به صورت ذیل تعریف می شود:

مدل برنامه ریزی فازی با ضرایب سمت راست فازی مدل برنامه ریزی فازی با ضرایب سمت راست فازی مدل برنامه ریزی فازی با ضرایب سمت راست فازی
حال جواب بهینه مساله با اشتراک تابع هدف و منطقه موجه و حداکثر کردن آن به دست می آید. برای اشتراک مجموعه های فازی تابع هدف و منطقه موجه از عملگر حداقل استفاده می نماییم.

فرض کنید یک شرکت تولیدی دو محصول p1 و p2 تولید می کند. سود هر واحد از محصول p1 برابر 40 دلار و سود هر واحد از محصول p2 برابر 30 دلار است. تولید هر واحد محصول p1 دو برابر نفر ساعت مورد نیاز تولید هر واحد محصول p2 نیاز دارد.
کل نفر ساعت در دسترس در هر روز 500 نفر ساعت و این امکان وجود دارد که 100 نفر ساعت نیز به صورت اضافه کاری استفاده شود. میزان تولید اولیه در دسترس هر روز حداقل برای تولید400 واحد از محصولات p1 و p2 کافی است و طبق تجربه امکان افزایش تولید تا 500 واحد در روز وجود دارد.
حال مسئله به دنبال تعیین میزان تولید از محصولات p1 و p2 است به گونه ای که کل سود حداکثر شود. متغیرهای x1 و x2 برای میزان تولید محصول p1 و p2 در هر روز تعریف می شوند و مساله به فرم یک مدل برنامه ریزی خطی فازی به صورت زیر فرموله می شود:

حال تابع عضویت اعداد فازی b1 و b2 به صورت زیر تعریف می شود:

در ابتدا مقادیر Zu و Zl محاسبه می شود.

پس از آن در نهایت مساله برنامه ریزی فازی به صورت زیر بدست می آید:

جواب بهینه: Z* = 40 (100) + 30 (350) = 14500
قلب تپنده بهینه سازی خطی، الگوریتم سیمپلکس است. در برنامه ریزی خطی فازی، ما با نسخه تکامل یافته ای به نام سیمپلکس فازی سروکار داریم. در این روش، به جای اعداد معمولی، ضرایب در جدول سیمپلکس به صورت اعداد فازی (غالباً مثلثی یا ذوزنقه ای) هستند.
چالش اصلی در اینجا، انتخاب متغیر ورودی و خروجی است؛ چرا که مقایسه دو عدد فازی برای پیدا کردن بزرگترین ضریب سود ساده نیست. محققان در این مرحله از شاخص های رتبه بندی استفاده میکنند. سیمپلکس فازی به شما اجازه میدهد تا تحلیل حساسیت را در حین حل مسئله انجام دهید و متوجه شوید که پاسخ بهینه در چه بازه ای از ابهام پایدار باقی میماند.
الگوریتم سیمپلکس (Simplex Algorithm) روشی برای به دست آوردن جواب بهینه یک تابع هدف خطی با دستگاهی از قیود است. این الگوریتم با یک رأس پایه از ناحیه شدنی (Feasible Region) شروع میشود و برای رئوس مجاور ادامه پیدا میکند. روش سیمپلکس تا رسیدن به جواب بهینه ادامه مییابد. ناحیهای که به قیود سیستم محدود میشود، ناحیه شدنی (Feasible Region) نامیده میشود.

الگوریتم های سیمپلكس فازی برای حل مسایل برنامه ریزی خطی عدد فازی و مسایل برنامه ریزی خطی با متغیرهای فازی بکار گرفته می شود. در ادامه گام های این الگوریتم تشریح شده است.
مساله برنامه ریزی خطی زیر را در نظر بگیرید.

در گام اول متغیر x1 برای ورود به پایه منفی می شود و چون عدد ذوزنقه ای است منفی آن به صورت زیر خواهد بود: (-8,-5,5,2) و (-10,-6,6,2)
سیمپلکس فازی سیمپلکس فازی سیمپلکس فازی سیمپلکس فازی
حال برای انتخاب منفی ترین متغیر از تابع رنک R استفاده می کنیم:
R1=1/2[(-8-5) + (1/2(2-5))] = -7.25 R2=1/2[(-10-6) + (1/2(2-6))] = -9
| basis | x1 | x2 | x3 | x4 | R.H.S | |
| z | (-8,-5,5,2) | (-10,-6,6,2) | 0 | 0 | 0 | |
| x3 | 2 | 3 | 1 | 0 | 6 | 6/3=2 |
| x4 | 5 | 4 | 0 | 1 | 10 | 10/4=2.5 |
منفی ترین عبارت (-10,-6,6,2) یعنی x2 است لذا ضرایب بر متغیر x2 تقسیم می شود و کمترین آن برای ورود به پایه انتخاب می گردد. نکته بعدی این است که مقدار 3 در x3 باید به 1 تبدیل گردد پس تمامی ردیف دوم بر 3 تقسیم می شود.
| basis | x1 | x2 | x3 | x4 | R.H.S |
| z | (-8,-5,5,2) | (-10,-6,6,2) | 0 | 0 | 0 |
| x3 | 2/3 | 1 | 1/3 | 0 | 2 |
| x4 | 5 | 4 | 0 | 1 | 10 |
حال ردیف x4 نیز باید به 0 تبدیل شود پس باید 4 در X2 در -4 ضرب شود و با مقدار جدید بدست آمده جمع گردد.
| basis | x1 | x2 | x3 | x4 | R.H.S |
| z | (-8,-5,5,2) | (-10,-6,6,2) | 0 | 0 | 0 |
| X2 | 2/3 | 1 | 1/3 | 0 | 2 |
| x4 | 7/3 | 0 | -4/3 | 1 | 2 |
| (-4)*(2/3)+5 | -4*(1)+4 | (-4)*(1/3)+0 | (-4)*(0)+1 | (-4)*(2)+10 |
حال برای ردیف z نیز مقدارx2 باید صفر گردد لذا مانند ردیف بالا اقدام می کنیم. حال برای اینکه (-10,-6,6,2) صفر گردد مقدار معکوس آن در خودش ضرب می شود (6,10,6,2) شایان ذکر است ضرب این دو عدد در هم صفر نمی شود بلکه R یا همان رتبه آن ها صفر می شود.
| basis | x1 | x2 | x3 | x4 | R.H.S |
| z | (-4, 5/3, 19/3, 6) | 0 | (2, 10/3, 2/3, 2) | 0 | (12, 20, 4, 12) |
| X2 | 2/3 | 1 | 1/3 | 0 | 2 |
| x4 | 7/3 | 0 | -4/3 | 1 | 2 |
| (6,10,2,6)*(2/3)+(-8,-5,5,2) | (6,10,2,6)*(1)+(-10,-6,6,2) | (6,10,2,6)*(1/3)+(0) | (6,10,2,6)*(0)+(0) | (6,10,2,6)*(2)+(0) |
حال برای انتخاب منفی ترین متغیر از تابع رنک R استفاده می کنیم:
R1=1/2[(-4+5/3) + (1/2(6-19/3))] = -1.25 R2=1/2[(2+10/3) + (1/2(2-2/3))] = 3
| basis | x1 | x2 | x3 | x4 | R.H.S | |
| z | (-4, 5/3, 19/3, 6) | 0 | (2, 10/3, 2/3, 2) | 0 | (12, 20, 4, 12) | |
| x3 | 2/3 | 1 | 1/3 | 0 | 2 | 3 |
| x4 | 7/3 | 0 | -4/3 | 1 | 2 |
0.85714286 |
حال باید X4 با مقدار 7/3 برابر 1 و دو ردیف دیگر برابر صفر گردد. لذا ردیف x4 در 7/3 ضرب می شود
| basis | x1 | x2 | x3 | x4 | R.H.S |
| z | (-4, 5/3, 19/3, 6) | 0 | (2, 10/3, 2/3, 2) | 0 | (12, 20, 4, 12) |
| x3 | 2/3 | 1 | 1/3 | 0 | 2 |
| x4 | 1 | 0 | -4/7 | 3/7 | 6/7 |
| 3/7 * 7/3 | 3/7 * 0 | 3/7 * -4/3 | 3/7 * 1 | 3/7 * 2 |
در این مرحله باید دو ردیف دیگر 0 گردد
| basis | x1 | x2 | x3 | x4 | R.H.S |
| z | (-4, 5/3, 19/3, 6) | 0 | (2, 10/3, 2/3, 2) | 0 | (12, 20, 4, 12) |
| x3 | 0 | 1 | 5/7 | -2/7 | 10/7 |
| x4 | 1 | 0 | -4/7 | 3/7 | 6/7 |
| (-3/2)*(1)+(2/3) | (-3/2)*0+1 | (-3/2)*(-4/7)+(1/3) | (-3/2)*3/7+(0) | (-3/2)*(6/7)+(2) |
در ادامه جدول مقادیر نهایی x1 ,x2,x3,x4 و مقدار تابع هدف Z بدست می آید.
| basis | x1 | x2 | x3 | x4 | R.H.S |
| z | (-4, 5/3, 19/3, 6) | 0 | (2, 10/3, 2/3, 2) | 0 | (12, 20, 4, 12) |
| x3 | 0 | 1 | 5/7 | -2/7 | 10/7 |
| x4 | 1 | 0 | -4/7 | 3/7 | 6/7 |
| (-4, 5/3, 19/3, 6) + (-5/3,4, 6, 19/3)*(1) | (-4, 5/3, 19/3, 6) *(0) + 0 | (-4, 5/3, 19/3, 6)*(-4/7) + (2, 10/3, 2/3, 2) | (-4, 5/3, 19/3, 6)*(3/7) + (0) | (-4, 5/3, 19/3, 6)*(6/7) + (12,20,4,12) |
زمانی که با چندین هدف متضاد روبرو هستیم، برنامه ریزی آرمانی فازی بهترین انتخاب است. در این متد، ما به دنبال رسیدن به آرمان های (Goals) تعیین شده توسط مدیریت هستیم. مثلاً رسیدن به حداقل سود ۱ میلیارد تومان و حداکثر هزینه ۲۰۰ میلیون تومان.
در برنامه ریزی آرمانی فازی، ما برای هر آرمان یک بازه تساهل (Tolerance) در نظر میگیریم. اگر به آرمان دقیقاً نرسیم، درجه عضویت کاهش مییابد. هدف نهایی، بهینه سازی همزمان تمامی این آرمان هاست. این متد پیوند عمیقی با تصمیم گیری چند هدفه فازی دارد و در حل مسائل کلان کشوری و بودجه ریزی های دولتی که اهداف اقتصادی و اجتماعی همزمان دنبال میشوند، بسیار موثر است.
روش پزیچ یکی از متدهای کاربردی برای حل مسائل برنامه ریزی خطی فازی است که در آن پارامترهای تابع هدف دارای ابهام هستند. در این روش، از مفهوم “بازه بهینه” استفاده میشود. ابتدا مسئله در دو کران پایین و بالا حل شده و سپس با یک فرمول خطی، تابع هدف فازی به یک تابع هدف قطعی تبدیل میشود.
مزیت روش پزیچ در سادگی پیاده سازی آن است. بسیاری از دانشجویانی که میخواهند از نرم افزارهای بهینه سازی کلاسیک استفاده کنند، ابتدا با روش پزیچ مدل را دی فازی سازی کرده و سپس خروجی را در نرم افزار وارد میکنند. این روش پایداری بالایی در تحلیل های اقتصادی دارد.
پس از یافتن پاسخ بهینه در برنامه ریزی خطی فازی، باید بدانیم این پاسخ چقدر “محکم” است. تحلیل حساسیت فازی به ما میگوید اگر منابع ما کمی کمتر یا بیشتر شود، سود چه تغییری میکند.
“سایه قیمت فازی” (Fuzzy Shadow Price) در اینجا به جای یک عدد، یک مفهوم کیفی یا یک بازه را ارائه میدهد. این به مدیر کمک میکند تا بفهمد در محیطی که همه چیز “تقریبی” است، سرمایه گذاری روی کدام منبع (مثلاً نیروی انسانی یا تکنولوژی) بیشترین بازدهی را خواهد داشت. این سطح از تحلیل، وجه تمایز یک پروژه حرفه ای در فرابگیر با کارهای آماتور است.
برنامه ریزی خطی فازی نه تنها یک روش ریاضی، بلکه یک نگرش مدیریتی به دنیای واقعی است. با ترکیب مفاهیم سیمپلکس فازی، برنامه ریزی آرمانی و متدهای دی فازی سازی، شما میتوانید مدل هایی بسازید که در سخت ترین شرایط بازار هم قابل اتکا باشند. امیدواریم این ابرمقاله جامع، راهگشای شما در مسیر یادگیری بهینه سازی در محیط ابهام باشد.
اگر قصد دارید روشهای تصمیمگیری فازی را بدون طراحی فرمولها از ابتدا اجرا کنید، استفاده از فایلهای اکسل آماده بهترین انتخاب است. در این مجموعه میتوانید فایلهای کاربردی مانند فایل اکسل روش SAW فازی، فایل اکسل روش VIKOR فازی، فایل اکسل روش PROMETHEE فازی، فایل اکسل روش DELPHI فازی، فایل اکسل روش ANP فازی و فایل اکسل روش BWM فازی را دریافت کرده و محاسبات خود را با سرعت و دقت بیشتری انجام دهید.
علاوه بر این، فایلهای آماده برای روشهای جدیدتر نیز در دسترس هستند؛ از جمله فایل اکسل روش WASPAS فازی، فایل اکسل روش CoCoSo فازی، فایل اکسل روش EDAS فازی، فایل اکسل MEREC فازی، فایل اکسل روش COPRAS فازی، فایل اکسل روش LMAW فازی و فایل اکسل روش MARCOS فازی که برای پایاننامهها، مقالات علمی و پروژههای سازمانی بسیار کاربردی هستند.
برای پژوهشگرانی که از فرایند تحلیل سلسلهمراتبی استفاده میکنند نیز دو نسخه مختلف از فایلهای آماده ارائه شده است؛ برنامه ریزی آرمانی فازی، فایل اکسل روش AHP فازی و فایل اکسل روش AHP فازی بوکلی، مجموعه های فازی، روش معیار جامع (LP متریک) که هر دو همراه با فرمولهای آماده و ساختار استاندارد طراحی شدهاند تا اجرای روشهای تصمیمگیری فازی را سادهتر و سریعتر کنند.