Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Постановка задачі дискретного програмування має вигляд

Дискретне програмування

F = (c, x) ® max (min), (12.1)

aij xj {£, =, ³} bi, (12.2)

xj Aj, j=1, n1, n1 £ n, (12.3)

 

де Aj, - дискретна (скінчена або злічена) множина. Умова дискретності може накладатися не на усі змінні.

Задача цілочисельного програмування

Якщо у обмеженнях (12.3) Aj = Z, де Z - множина цілих чисел, задачу (12.1 – 12.3) називають задачею цілочисельного програмування. У випадку, коли n1 = n, задача називається повністю цілочисельною, а якщо n1 < n, - частково цілочисельною.

Окремо виділяють клас задач, для яких у обмеженні (12.3) Aj = { 0, 1 }. Ці задачі складають клас задач бівалентного (булевого) програмування.

Надалі будемо розглядати задачу повністю цілочисельного програмування у канонічній формі.

F = (c, x) ® min, (12.4)

aij xj = bi, i = 1, m, (12.5)

xj ³ 0, j = 1, n, (12.6)

xj - ціле, j = 1, n. (12.7)

Оскільки задача (12.4 – 12.7) відрізняється від звичайної задачі лінійного програмування лише додатковим обмеження (12.7), природно виникає питання, чи можна цю задачу замінити еквівалентною задачею лінійного програмування і застосувати методи лінійного програмування. Принципову відповідь на це питання дає наступна теорема.

Теорема 12.1 (Про еквівалентність задачі цілочисельного програмування і задачі лінійного програмування) Якщо допустима область G задачі (12.4 – 12.6) – опуклий многогранник, Gц – множина цілих точок з G, тобто допустима область задачі (12.4 – 12.7),і R – опукла оболонка Gц , то мінімум F на R дорівнює мінімальному F на Gц.

Доведення. З того, що область G- опуклий многогранник, тобто обмежена, прямує, що множина цілих точок Gц - скінчена. Нехай Gц має k цілих точок: {x1, x2, …, xk}, xi = (xi1, xi2, …, xin), i = 1, k.

Кожна точка x = (x1, x2, …, xn), що належить R, уявляється у вигляді

x = i xi, i = 1, i 0, i = 1, k.

Тому область R визначається системою рівнянь:

xj = xij li, j = 1, n.

li = 1,

li 0, i = 1, k.

Це означає, що задача пошуку екстремуму функції F = (c, x) на області R є задачею лінійного програмування. Оскільки кожна крайня точка x R є опуклою лінійною комбінацією точок x1, x2, …, xk і одночасно не лежить у середині відрізку, що з’єднує дві різні точки з R, то x належить Gц. Враховуючи, що функція F досягає екстремуму на R у крайній точці, отримуємо те, що требо було довести.

Теорема 12.1 показує принципову можливість зведення задачі цілочисельного програмування до задачі лінійного програмування, але не вказує практичного шляху побудови шуканої задачі лінійного програмування. На практиці знайшов застосування інший підхід до розв’язування задачі цілочисельного програмування, який базується на методі відтинань.

Ідея методу відтинань, який є ітераційною процедурою, полягає у тому, що на першій ітерації розв’язується задача (12.4 – 12.6) або задача пошуку мінімуму функції F на допустимій області G0, що визначається обмеженнями (12.5, 12.6). Таким чином, на першій ітерації розв’язується звичайна задача лінійного програмування.

Якщо отриманий розв’язок x0 цілочисельний, то він є розв’язком вихідної задачі. Якщо ні, то у задачу (12.4 – 12.6) уводиться додаткове лінійне обмеження таким чином, щоб у результаті утворилася допустима областьG1, якій розв’язок x0 не належить, а будь-який допустимий розв’язок вихідної задачі належить. На наступній ітерації відбувається пошук мінімуму функції F на області G1 і т.д. Додаткові обмеження, що уводяться на кожній ітерації називаються відтинаннями, а метод розв’язування задачі – методом відтинань.

Відтинання називається правильним, якщо для нього виконуються дві умови:

1) поточний нецілочислений розв’язок відтинанню не задовольняє;

2) кожний допустимий розв’язок задачі (12.4 – 12.7) відтинанню задовольняє.

Таким чином згідно з методом відтинань розв’язування задачі цілочисельного програмування зводиться до розв’язування послідовності задач лінійного програмування. При цьому обмеження кожної наступної задачі утворюються додаванням правильного відтинання до обмежень попередньої, а обмеження першої задачі утворюються з обмежень вихідної відкиданням обмеження на цілочисельність усіх змінних.

Ідея методу відтинань була запропонована американським математиком Данцигом, який є і автором симплекс-методу. Але форма правильного відтинання, запропонована Данцигом, виявилася недостатньо ефективною, і у результаті метод відтинань можна було застосовувати до відносно вузького класу задач з певними властивостями цільової функції і обмежень.

Більш досконалою формою правильного відтинання виявилася форма, запропонована іншим американським математиком Гоморі, на честь якого названо декілька алгоритмів розв’язування задачі цілочисельного програмування.

<== предыдущая лекция | следующая лекция ==>
Методика проектування тригерів | Перший алгоритм Гоморі
Поделиться с друзьями:


Дата добавления: 2014-01-13; Просмотров: 1273; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.