This page is hosted for free by zzz.com.ua, if you are owner of this page, you can remove this message and gain access to many additional features by upgrading your hosting to PRO or VIP for just 32.50 UAH.
Do you want to support owner of this site? Click here and donate to his account some amount, he will be able to use it to pay for any of our services, including removing this ad.

Максимальне (зважене) паросполучення

Ця сторінка призначена для студентів, що вивчають курс дискретної математики та (або) теорії графів. Безпосередньо з неї ви можете виконати своє ІДЗ, навіть якщо у вас немає на комп’ютері MATLAB. Якщо ж у вас є MATLAB, перейдіть на цю сторінку: там у вас є можливість втрутитися у сценарій (програму) обчислень. А на цій сторінці задача про максимальне зважене паросполучення розв’язується шляхом зведення до задачі бінарного лінійного програмування.

Нехай G(VE) − граф, де V − множина вершин, а E − множина ребер. Максимальним (зваженим) паросполученням називається максимальна за потужністю або загальною вагою підмножина ребер E1E, серед яких немає суміжних. Введемо позначення:

Тоді задача про максимальне зважене паросполучення може бути сформульована як задача бінарного лінійного програмування:

Максимізується загальна вага ребер, включених у максимальне зважене паросполучення (1). При цьому кожній вершині повинно бути інцидентним не більше одного такого ребра (2), а кожне ребро може або включатися у паросполучення, або ні (3). Докладніше див. тут, стор. 26.

Для правильної роботи з цією сторінкою ваш браузер повинен підтримувати сценарії Java Script. Увімкніть їх.

Введіть вхідні дані в області введення нижче. У першій області треба (точніше, можна) ввести координати вершин для малювання графа. Вони задаються у вигляді матриці n×2: у першому стовпці − x координати, у другому − y-і. Числа можна задавати цілі, з десятичною точкою або в експоненційній формі. Числа розділяйте пробілами. Загальна кількість рядків у цій області введення визначає розмір графа n − кількість вершин. Ці вхідні дані (координати вершин) не є обов’язковими: якщо їх не задати, то граф буде малюватися у вигляді правильного n-кутника, а кількість вершин буде визначатися максимальним номером вершини у наступній області введення.

В наступній області введення ліва частина є обов’язковою для заповнення. В ній визначається структура графа. Кожне ребро у графі поєднує дві вершини. Номери цих вершин задаються у вигляді матриці m×2 у лівій частині другої області введення. Яку вершину вважати першою, а яку другою − не має значення. У цих стовпцях повинні бути натуральні числа від 1 до n включно. Числа розділяйте пробілами. У правій частині цієї області введення задаються ваги ребер − дійсні числа. Якщо цей стовпчик не заданий, то всі ваги вважаються одинаковими (одиничними), і в цьому випадку розв’язується задача про звичайне (незважене) максимальне паросполучення. Загальна кількість чисел у кожному з цих стовпців визначає потужність графа m − кількість ребер.

Координати вершин
x   (пробіл)   y

Ребра та їхні ваги
v1  (пробіл)  v2 Вага