سیمپلکس فازی

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

سیمپلکس فازی

الگوریتم سیمپلکس فازی

  • یک جواب فازی شدنی پایه ای
    داده شده است و جدول سیمپلکس مربوط به این جواب فازی در دست است.
  • مقادیر
    را برای
     تعیین کنید. اگر
     انگاه توقف کن. جواب فازی فعلی بهینه است.
  • را اختیار کن. اگر  
    انگاه توقف کن( مساله بیکران است)، در غیر این صورت یک اندیس R  مربوط به متغیر فازی
    خارج شونده  از پایه را به صورت زیر تعیین کن:
  •  که در آن ، 
  • درایه
     را محور قرار ده و جدول سیمپلکس را با عملیات حذفی  گوس بهنگام کن. به گام (2) برو.

مثال سیمپلکس فازی:

مساله برنامه ریزی خطی زیر را در نظر بگیرید.

در گام اول متغیر 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

basisx1x2x3x4R.H.S
z(-8,-5,5,2)(-10,-6,6,2)000
x3231066/3=2
x454011010/4=2.5

منفی ترین عبارت (-10,-6,6,2) یعنی x2  است لذا ضرایب بر متغیر x2  تقسیم می شود و کمترین آن برای ورود به پایه انتخاب می گردد. نکته بعدی این است که مقدار 3 در x3  باید به 1 تبدیل گردد پس تمامی ردیف دوم بر 3 تقسیم می شود.

basisx1x2x3x4R.H.S
z(-8,-5,5,2)(-10,-6,6,2)000
x32/311/302
x4540110

حال ردیف x4 نیز باید به 0 تبدیل شود پس باید 4  در X2  در -4  ضرب شود و با مقدار جدید بدست آمده جمع گردد.

basisx1x2x3x4R.H.S
z(-8,-5,5,2)(-10,-6,6,2)000
X22/311/302
x47/30-4/312
(-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 یا همان رتبه آن ها صفر می شود.

basisx1x2x3x4R.H.S
z(-4, 5/3, 19/3, 6)0(2, 10/3, 2/3, 2)0(12, 20, 4, 12)
X22/311/302
x47/30-4/312
(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

basisx1x2x3x4R.H.S
z(-4, 5/3, 19/3, 6)0(2, 10/3, 2/3, 2)0(12, 20, 4, 12)
x32/311/3023
x47/30-4/312

0.85714286

حال باید X4  با مقدار 7/3 برابر 1 و دو ردیف دیگر برابر صفر گردد. لذا ردیف x4 در 7/3 ضرب می شود

basisx1x2x3x4R.H.S
z(-4, 5/3, 19/3, 6)0(2, 10/3, 2/3, 2)0(12, 20, 4, 12)
x32/311/302
x410-4/73/76/7
3/7 * 7/33/7 * 03/7 * -4/33/7 * 13/7 * 2

در این مرحله باید دو ردیف دیگر 0 گردد

basisx1x2x3x4R.H.S
z(-4, 5/3, 19/3, 6)0(2, 10/3, 2/3, 2)0(12, 20, 4, 12)
x3015/7-2/710/7
x410-4/73/76/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)
basisx1x2x3x4R.H.S
z(-4, 5/3, 19/3, 6)0(2, 10/3, 2/3, 2)0(12, 20, 4, 12)
x3015/7-2/710/7
x410-4/73/76/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)
X
سوالی دارین؟