نمونه ای از یافتن حداکثر جریان با استفاده از روش فورد-فولکرسون. روشی برای یافتن حداکثر جریان

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

یک شبکه توزیع را در نظر بگیرید (شکل 4.21)، که در آن نقاط 0 برجسته شده است (یک ورودی، برای مثال، یک انبار برای محصولات نهایی یک سازنده) و پ (خروجی، مراکز توزیع، انبارهای سازمان های عمده فروشی و خرده فروشی، مصرف کننده) و هر قوس (قطعه) نقاط اتصال من و j شماره dij > 0 اختصاص داده شده است، فراخوانی می شود توان عملیاتی قوس ها مقدار توان عملیاتی حداکثر مقدار مجاز جریان مواد را مشخص می کند که می تواند در واحد زمان از قوس مربوطه عبور کند.

برنج. 4.21.

مقدار محصولات عبوری در امتداد قوس از من قبل از j ، جریان را در امتداد قوس ( من ,j ) و با نشان داده می شود. بدیهی است که

با توجه به این همه جریان مواد، که وارد نقطه میانی شبکه شده است، باید کاملاً از آن خارج شود، دریافت می کنیم

از نیاز طبیعی برابری جریان ها در ورودی و خروجی داریم

ما مقدار Z را مقدار جریان در شبکه می نامیم و مشکل به حداکثر رساندن Z را در شرایط ذکر شده در بالا تنظیم می کنیم.

جستجو برای حداکثر جریان به جستجو برای خروجی حداقل برش کاهش می یابد.

یک الگوریتم جستجوی جهانی را به صورت ماتریسی در نظر بگیرید.

مرحله اولیه الگوریتم شامل ساخت ماتریس است D 0, که در آن مقادیر پهنای باند وارد می شود (برای یک قوس بدون جهت، مقادیر متقارن عناصر ماتریس را می گیریم).

مراحل اصلی الگوریتم یافتن مسیر و اصلاح جریان در طول این مسیر است.

هنگام جستجوی یک مسیر، از فرآیند علامت گذاری استفاده می کنیم. سطر و ستون تهی ماتریس (ورودی شبکه) را با علامت * مشخص می کنیم. در خط 0 که پیدا می کنیم، ستون های مربوطه را با شاخص ها علامت گذاری می کنیم

و برچسب های ستون را به ردیف ها منتقل کنید. سپس ردیف علامت گذاری شده ί را می گیریم، به دنبال یک ستون بدون علامت در آن می گردیم، که برچسب ها-شاخص ها را با آن مقایسه می کنیم.

برچسب های ستون را به ردیف ها منتقل می کنیم و این روند را تا علامت گذاری ستون n ادامه می دهیم.

سپس " به عقببا شاخص‌ها، مسیری را که به راس ηمین منتهی می‌شود، پیدا کنید، ظرفیت کمان‌های مسیر (عناصر ماتریس) را کاهش دهید. V n و عناصر متقارن را به همان مقدار افزایش دهید.

این رویه تا علامت ادامه دارد n راس -ام غیر ممکن نخواهد شد.

حداکثر جریانرا می توان با کم کردن از ماتریس اصلی پیدا کرد D 0, پس از تصحیح فوق ماتریس پهنای باند بدست آمده است:

مثال 4.4

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

بیایید قطعه ای از شبکه توزیع را انتخاب کنیم:

  • انبار محصولات نهایی یک شرکت تولیدی؛
  • مرکز توزیع مرکزی;
  • مرکز توزیع منطقه ای؛
  • مرکز توزیع شهری;
  • دو عمده فروش؛
  • فروشگاه خرده فروشی متعلق به شرکت؛
  • مصرف کنندگان

برنج. 4.22.

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

نمودار شبکه توزیع محصول در شکل 1 نشان داده شده است. 4.23. بیایید یک ماتریس بسازیم D 0, که در آن مقادیر توان عملیاتی لینک های شبکه توزیع را وارد خواهیم کرد (شکل 4.24).

برنج. 4.23.

برنج. 4.24.

از ردیف صفر، رئوس (ردیف-ستون) 1، 2 و 3 را با شاخص های μ = 0 و برابر با 30.10 و 10.

از ردیف شماره 1، رئوس 4 و 5 را با شاخص‌های μ = 1 و V4 = min (30،15) = 15، V5 = min (30،10) = 10 علامت‌گذاری کنید.

از خط 3 راس 6 و در نهایت از خط 4 - راس 7 را علامت گذاری می کنیم (شکل 4.25).

برنج. 4.25.

در حرکت معکوس در امتداد μ مسیر را پیدا می کنیم: به راس 7 از 4، به راس 4 از 1، به راس 1 از 0. تنظیم عناصر D 0 با مقدار جریان V7 = 15.

مرحله بعدی مسیری با جریان 5 می دهد (شکل 4.26).

برنج. 4.26.

مرحله بعدی نتیجه نشان داده شده در شکل را نشان می دهد. 4.27.

برنج. 4.27.

علامت گذاری بیشتر امکان پذیر نیست. از اینجا ماتریس حداکثر جریان را بدست می آوریم (شکل 4.28).

برنج. 4.28.

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

وظیفه حمل و نقل
ممکن است در فیزیک، اقتصاد و غیره بوجود بیاید.
بر روی اجزای منفرد شبکه حمل و نقل
(شبکه راه آهن، جاده و غیره
راه ها؛ شبکه لوله کشی و غیره) روی هم قرار گرفته است
محدودیت ها - حداکثر مجاز آنها
بار.
تعیین حداکثر ضروری است
تعداد ممکن مسافر، کالا،
محصول و غیره که از این طریق قابل حمل است
شبکه ها و چگونه
ما یک مدل گسسته نمودار می سازیم
این مشکل حمل و نقل و حل آن در این
مدل ها.

جورج برنارد دانتسیگ، ریاضیدان، از سال 1941
زمانی که در اداره آمار نیروی هوایی ایالات متحده در واشنگتن دی سی کار می کرد، ابتدا تصمیم گرفت
مشکل حداکثر جریان در طول آماده سازی
پل هوایی در زمان محاصره برلین غربی.
در سال 1951، جرج دانزیگ برای اولین بار فرموله کرد
وظیفه در نمای کلی. در سال 1955 لستر فورد و
دلبرت فولکرسون برای اولین بار یک الگوریتم ساخت،
به خصوص برای این کار طراحی شده است.
الگوریتم آنها الگوریتم فوردفولکرسون نام دارد.
در سال 2010، محققان جاناتان کلنر و
الکساندر موندری از MIT با خودش
همکاران دانیل اسپیلمن از ییل
دانشگاه و Shen-Hua Tenem از دانشگاه کالیفرنیای جنوبی نشان دادند
یکی دیگر از بهبودهای الگوریتم

با ارائه یک نمودار جهت دار
(شبکه حمل و نقل) G=(V، E)، رأس
نمودار s (منبع) و گره t (سینک).
به هر کمان (i، j) مقداری اختصاص داده شده است
توان عملیاتی با (i,j) 0 (بدون
از دست دادن کلیت، آن را در نظر می گیریم
مقدار صحیح)
تعیین حداکثر مقدار
نهری که می تواند از آن عبور کند
این قوس

جریان
که در
شبکه های
تماس گرفت
تابع عدد صحیح f(i,j) داده شده توسط
در مجموعه کمان E و داشتن
خواص زیر:
1. محدودیت پهنای باند جریان
توانایی
برای هر قوس (i، j) E،
نابرابری f(i، j) c(i، j).

2. جریان را ذخیره کنید
برای هر رأس q V،
برابری
qs
و
q t
f (i، q) f (q، j)
من V
(i، q) E
jV
(ق، ج) E
یعنی مجموع جریان ورودی q برابر است با
مجموع جریان خروجی q (جریان بدون
تلفات و تجمعات)

برای تعیین مقدار لازم است
حداکثر جریان، که
می توان از منبع s به
سینک t و توزیع آن بر روی قوس ها.

مثال
لیکی پاک یک کارخانه در ونکوور دارد
(منبع s)، تولید توپ هاکی، و در
Winnipeg انباری است که این واشرها در آن نگهداری می شوند.
این شرکت مکان هایی را بر روی کامیون های شرکت های دیگر اجاره می کند
برای تحویل واشر از کارخانه به انبار. از آنجا که
کامیون ها در مسیرهای خاص (لبه ها) رانندگی می کنند
بین شهرها (برترین ها) و محدود است
ظرفیت بار، Lycky Puck می تواند
هر روز بیش از c(u,v) جعبه را بین هر کدام حمل کنید
یک جفت شهر u و v. لیکی پوک نمی تواند
مسیرها و توان عملیاتی را تحت تأثیر قرار می دهد. او
وظیفه این است که تعیین کنیم بیشترین عدد کدام است
جعبه در روز می تواند حمل و سپس تولید شود
فقط چنین عددی، زیرا منطقی نیست
بیشتر از چیزی که بتوان به آن ها فرستاد تولید کرد
موجودی.

روش های حل مسئله
برنامه ریزی خطی
مشکل حداکثر جریان را به عنوان یک مسئله ارائه کنید
برنامه ریزی خطی. متغیرها هستند
جریان در امتداد لبه ها، و محدودیت ها - حفظ جریان
و محدودیت پهنای باند
الگوریتم فورد-فولکرسون
هر مسیر افزایشی را پیدا کنید. افزایش جریان توسط
تمام لبه های آن به حداقل باقیمانده آنها برسد
پهنای باند تکرار کنید تا
یک مسیر افزایشی وجود دارد الگوریتم فقط کار می کند
برای ظرفیت های عدد صحیح

10.

مثال 1
اجازه دهید مسئله حداکثر را فرمول بندی کنیم
جریان از نظر برنامه ریزی خطی.
اجازه دهید XKM حجم ترافیک از نقطه K تا نقطه M باشد.
K \u003d 0.1.2.3، M \u003d 1.2.3.4 و حمل و نقل امکان پذیر است
فقط در نقطه با عدد بزرگ. بنابراین، در کل
9 متغیر XKM وجود دارد، یعنی X01، X02، X03، X12
, X13 , X14 , X23 , X24 , X34 .
s=0
t=4

11.

مسئله برنامه نویسی خطی،
با هدف به حداکثر رساندن جریان، به شکل زیر است:
F → حداکثر،
X01 + X02 + X03 = F
-X01 +X12 +X13 +X14 = 0
-X02 -X12 +X23 +X24 = 0
-X03 -X13 -X23 +X34 = 0
-X14 -X24 -X34 = - F
X01 ≤ 2
Х02 ≤ 3
Х03 ≤ 1
X12 ≤ 4
X13 ≤ 1
X14 ≤ 3
X23 ≤ 1
X24 ≤ 2
X34 ≤ 2
XKM ≥ 0، K، M = 0، 1، 2، 3، 4
F≥0.

12.

قطع كردن
مجموعه ای از کمان ها نامیده می شود،
که حذف آن از شبکه منجر به
"شکستن" تمام مسیرهای منتهی از s به t.
ظرفیت برش است
ظرفیت کل قوس ها، آن است
اجزاء.
!!! برش ها را در مثال 1 بیابید

13.

قضیه ال. فورد و دی. فولکرسون:
مقدار هر جریان از s به t نیست
پیشی می گیرد
توان عملیاتی
توانایی ها
حداقل برش جداکننده s و t،
و جریانی که به این مقدار می رسد،
وجود دارد.
(ارزش
بیشترین
جریان
که در
حمل و نقل
شبکه های
برابر است با
اندازه
حداقل برش در آن)
!!! حداقل برش را در مثال 1 بیابید

14.

از نقطه نظر الگوریتمی، این
قضیه غیرمولد است.
تولید تمامی زیر مجموعه های کمان و
معاینه،
است
چه
یکی دیگر
زیر مجموعه برش - "حلول جلویی"،
منجر به پیچیدگی بالای الگوریتم می شود.
علاوه بر این، این واقعیت کمکی نمی کند.
راهی برای توزیع حداکثر پیدا کنید
جریان قوس

15.

الگوریتم فورد-فولکرسون
"تکنیک علامت گذاری" اثر L. Ford و D. Fulkerson
متوالی است
ساخت (تکرار شونده، جستجوی وسعت اول).
حداکثر جریان با جستجو در هر یک
پله از زنجیره فزاینده، یعنی مسیر در امتداد
که می تواند جریان را افزایش دهد.
در این حالت، گره ها (رأس نمودار)
به روش خاصی مشخص شده اند. از این رو و
اصطلاح "برچسب" به وجود آمد.

16.

الگوریتم فورد-فولکرسون
برچسب چیست
قله ها؟
اولین رقم در برچسب عدد است
رأسی که جریان به آن می رود
بالا داده شده؛
رقم دوم در برچسب یک عدد است
مقدار جریان، که می تواند باشد
به این راس منتقل شود.

17.

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

18.

الگوریتم فورد-فولکرسون
به محض اینکه تاپ سینک شود
برچسب زده شده، این بدان معنی است که
یک زنجیره افزایش دهنده جریان دیگر
یافت شده، جریان کل نهایی
باید با مقدار جریان افزایش یابد
زنجیر پیدا کرد و به
مرحله بعدی الگوریتم

19.

الگوریتم فورد-فولکرسون
قوس e=(u,v) شبکه قابل قبول است
یک قوس از u به v نسبت به جریان f، اگر
e=(u، v) و f(e) مستقیم)؛
e=(v,u) و f(e)>0 (قوس های نوع دوم،
معکوس).
شرط دوم این را می گوید
قوس های موجود در قابل قبول هستند
راس u، که از آن «قبلاً گذشت
جریان غیر صفر

این راهنما برای دانش آموزانی است که درس ریاضیات گسسته و (یا) نظریه گراف را مطالعه می کنند. با آن به مبحث "حداکثر جریان و حداقل برش در شبکه" مسلط خواهید شد. درست از این راهنما، می توانید IPD خود را محاسبه کنید، حتی اگر MATLAB روی رایانه خود ندارید. اگر متلب دارید، به این صفحه بروید: در آنجا این فرصت را دارید که در اسکریپت محاسبه (برنامه) دخالت کنید. در اینجا، مشکل حداکثر جریان در شبکه با کاهش آن به یک مسئله برنامه ریزی خطی حل می شود.

بیایید نماد را معرفی کنیم:

  • n=|V| - اندازه گراف (تعداد رئوس)؛
  • متر=|E| - کاردینالیته نمودار (تعداد لبه ها)؛
  • آ - ماتریس بروز دیگراف شبکه اندازه n× متر; هر عنصر آن aik=1 اگر از منراس -ام بیرون می آید کقوس -ام؛ aik=-1 اگر در منراس -ام گنجانده شده است کقوس -ام؛ و aik=0 در موارد دیگر. در هر ستون چنین ماتریسی دقیقاً یک، یک منهای یک و بقیه صفر وجود دارد.
  • س- شماره گره منبع شبکه؛ فقط قوس ها باید از این راس خارج شوند و هر راس دیگری باید از منبع قابل دسترسی باشد.
  • تی- تعداد گره سینک شبکه؛ فقط کمان ها باید وارد این راس شوند و یک سینک باید از هر راس دیگری قابل دسترسی باشد.
  • آسس آ ; باید فقط شامل واحدها باشد، زیرا فقط قوس ها باید از منبع خارج شوند.
  • آتیتی-مین ردیف از ماتریس بروز دیگراف شبکه آ ; باید فقط دارای یک های منفی باشد، زیرا قوس ها فقط باید وارد زهکشی شوند.
  • آخیابان- ماتریس بروز دیگراف شبکه آ با کسانی که از آن پرتاب شده اند س-ام و تیخطوط -ام؛
  • ه - بردار ستون طول متر; در هر عنصر e kمقدار جریان در خواهد بود کقوس -ام؛
  • ج - بردار ستون طول متر; در هر عنصر c k≥0 توان عملیاتی است کقوس هفتم

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

جریان کل از منبع (1) به حداکثر می رسد. در عین حال، در هر راس میانی، جریان ورودی برابر با جریان خروجی (2) است و ظرفیت کمان ها محدود است (3).

مشکل دوگانه به حداکثر جریان، مشکل برش حداقل است. برای ساختن برش حداقل می توان از قضایای دوگانگی استفاده کرد. نیاز داشتن:

  • تمام خالی را از دیگراف شبکه حذف کنید ( e k= 0) و اشباع شده ( e k = c k) کمان ها؛
  • اجزای متصل گراف باقیمانده را پیدا کنید.
  • اگر دو جزء از این قبیل وجود داشته باشد، قوس های دور ریخته شده حداقل برش را دارند.
  • اگر بیش از دو جزء متصل ظاهر شود، دیگراف شبکه چندین برش حداقلی دارد (مسئله برنامه ریزی خطی مربوطه منحط است).

برای یک مشکل منحط، اولین برش حداقل نزدیک به منبع در این صفحه ساخته شده است.

برای عملکرد صحیحبا این صفحه مرورگر شما باید از اسکریپت پشتیبانی کند جاوا اسکریپت. آنها را روشن کنید.

داده های اولیه را در فیلدهای ورودی زیر وارد کنید. در ناحیه اول باید (به طور دقیق تر، می توانید) مختصات رئوس را برای رسم دیگراف شبکه وارد کنید. آنها در قالب یک ماتریس آورده شده اند n×2: در ستون اول − ایکس-ام مختصات، در دوم − y-e. اعداد را می توان به صورت اعداد صحیح، با اعشار یا به صورت نمایی وارد کرد. اعداد را با فاصله جدا کنید. تعداد کل خطوط در این ناحیه ورودی اندازه دیگراف را تعیین می کند n- تعداد رئوس. این داده های اولیه (مختصات رأس) اختیاری هستند: اگر مشخص نشده باشند، نمودار شبکه به صورت منظم رسم می شود. n-gon، و تعداد رئوس با حداکثر عدد راس در ناحیه ورودی بعدی تعیین می شود.

در قسمت ورودی بعدی، قسمت سمت چپ اجباری است. ساختار دیگراف شبکه را تعریف می کند. هر کمان در یک دیگراف دو راس را به هم متصل می کند. اعداد این رئوس در قالب یک ماتریس آورده شده است متر× 2 در سمت چپ ناحیه ورودی دوم. در هر خط ابتدا راس 1 (دم، منبع) کمان مشخص می شود و سپس راس 2 (نوک، سینک) کمان با فاصله از هم جدا می شود. این ستون ها باید باشند اعداد صحیحاز 1 تا nشامل. اعداد را با فاصله جدا کنید. در سمت راست، ظرفیت کمان ها آورده شده است - اعداد واقعی مثبت. اگر این ستون تنظیم نشده باشد، همه پهنای باند یکسان در نظر گرفته می شوند (تک). تعداد کل اعداد در هر یک از این ستون ها، کاردینالیته دیگراف را تعیین می کند متر- تعداد کمان ها.



شمردن

جریان در شبکه ها

مشکل حداکثر جریان

اجازه دهید یک شبکه داده شود، متشکل از مجموعه ای از رئوس E و مجموعه ای از کمان ها که چند جفت رئوس مرتب شده از E را به هم متصل می کند. سپس شامل یک قوس متقارن () نیز می شود، اگرچه در واقعیت ممکن است چنین قوسی وجود نداشته باشد. برای قطعیت، اعداد زیر را به رئوس شبکه اختصاص می دهیم: . هر رأس با شدت مشخص می شود. رئوس هایی که برای آن ها، منبع نامیده می شوند، رئوس هایی که برای آنها، سینک هستند و بقیه میانی هستند. برخی از جریان ها در امتداد مسیرهای شبکه - یک ماده همگن (گاز، مایع) یا حمل و نقل - از منابع به غرق ارسال می شوند. به هر قوس () شبکه عددی به نام پهنای باند قوس اختصاص داده می شود. ظرفیت یک قوس حداکثر جریانی است که در واحد زمان می تواند عبور کند. اجازه دهید، و برای رئوس باقی مانده، سپس - تنها منبع، - تنها سینک، و - گره های میانی شبکه.

وظیفه تعیین حداکثر مقدار جریان از منبع به سینک برای یک شبکه معین است. در زیر جریان در شبکه از منبع تا سینک، منظور مجموعه جریان‌ها () در امتداد تمام قوس‌های شبکه است، جایی که جریان در امتداد قوس () ، برابر با مقدار ماده ای است که در واحد زمان از آن عبور می کند. از نظر ریاضی، مسئله حداکثر جریان به صورت زیر فرموله می شود: یافتن مقادیر غیر منفی برای همه، به حداکثر رساندن

(3.9)

با محدودیت:

(3.11)

شرط (3.9) مقدار حداکثر جریان را منعکس می کند که برابر با مقدار ماده ای است که از منبع جریان می یابد یا به زهکش می ریزد. شرایط (3.10) به این معنی است که جریان در امتداد هر قوس باید غیرمنفی باشد و از ظرفیت آن تجاوز نکند. از شرط (3.11) نتیجه می گیرد که مقدار ماده ای که به هر رأس میانی می ریزد برابر با مقدار ماده ای است که از آن خارج می شود.

تاکنون شبکه هایی با منبع و سینک واحد در نظر گرفته ایم. با این حال، در عمل، تعداد منابع و سینک ها می تواند دلخواه باشد. اجازه دهید نشان دهیم که با کمک تغییرات جزئی در توپولوژی، مشکلات این نوع را می توان به مواردی که قبلاً در نظر گرفته شده کاهش داد.

اجازه دهید این موضوع را با یک مثال توضیح دهیم.

شبکه ای متشکل از سه منبع و دو سینک را در نظر بگیرید (شکل 3.10). اجازه دهید، برای قطعیت، این شبکهکار بعدی را شرح می دهد.

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

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


برنج. 3.10. معرفی منبع و سینک ساختگی

مثال 3

بیایید مثالی از حل مشکل حداکثر جریان در اکسل ارائه دهیم. برخی از شبکه های حمل و نقل را در نظر بگیرید (شکل 3.11.). ما همچنین فرض می‌کنیم که جریان‌های ترافیکی می‌توانند در هر دو جهت برخی از کمان‌ها حرکت کنند (بدیهی است که حل این مورد عمومی‌تر و دشوارتر از مورد جریان‌های ترافیکی یک طرفه است). شکل حداکثر توان عبوری را در هر دو جهت نشان می دهد: به عنوان مثال، از نقطه 3 به نقطه 6 می توان جریانی با شدت 4 واحد را انتقال داد و همان جریان را از نقطه 6 به نقطه 3 (صفر در انتهای برخی از کمان ها به معنی عدم امکان حمل و نقل در جهت مربوطه). لازم است حداکثر توان عملیاتی شبکه به عنوان یک کل تعیین شود، یعنی. حداکثر مقدار جریان

برنج. 3.11. نمودار شبکهمثال 3.

راه حل.

از آنجایی که فرض بر این است که برای هر گره شبکه میانی، کل جریان ورودی باید با کل جریان خروجی برابر باشد، مشکل را می توان به صورت زیر فرموله کرد:

به حداکثر رساندن تحت محدودیت ها:

بیایید داده ها را مطابق شکل بر روی کاربرگ وارد کنیم. 3.12.

برنج. 3.12. داده ها برای حل مسئله حداکثر جریان

محدوده سلول های A6:Q6 به مقادیر محاسبه شده متغیرها اختصاص داده می شود. در سلول های A8:A14 و همچنین در سلول هدف F13 فرمول های زیر را وارد کنید

C6+D6+I6-E6-H6-J6

G6+N6+H6+K6-L6-I6-M6-P6

F13 (هدف)

پس از شروع جستجوی راه حل، محدودیت های زیر را معرفی می کنیم:

در کادر محاوره ای یافتن راه حل برای تغییر محدوده سلول ها، A6:Q6 را مشخص کنید.

در نتیجه حل به جواب می رسیم: ; جریان در کمان در زیر ارائه شده است

نقاط (گره ها)

نقاط (گره ها)

لازم به ذکر است که این مشکل دارای یک راه حل بهینه غیر منحصر به فرد است، یعنی با حداکثر دبی 17 واحد ممکن است توزیع متفاوتی از جریان ها بر روی قوس ها وجود داشته باشد.

با دوستان به اشتراک بگذارید یا برای خود ذخیره کنید:

بارگذاری...