на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Рішення задач цілочисленного програмування

Рішення задач цілочисленного програмування

Курсова робота:

Рішення задач цілочисленного програмування

Зміст

Введення

1. Постановка лінійної цілочисленної задачі

2. Теоретичні основи методів відсікання

3. Перший алгоритм Гомори

4. Другий алгоритм Гомори

5. Алгоритм Дальтона й Ллевелина

6. Алгоритм Данцига

7. Деякі висновки

Висновок

Список літератури

Введення

Серед практично важливих задач відшукання умовного екстремуму лінійної функції важливе місце займають задачі з вимогою цілочисленності всіх (частини) змінних. Вони одержали назву задач цілочисленного програмування.

Історично першою задачею цілочисленного типу є опублікована угорським математиком Е. Егервари в 1932 р. задача про призначення персоналу.

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

1. Постановка лінійної цілочисленної задачі

Серед сукупності п неподільних предметів, кожний i-і (i=1,2,…,п) з яких володіє по i-й характеристиці показником і корисністю знайти такий набір, що дозволяє максимізувати ефективність використання ресурсів величини .

Математична модель цієї задачі може бути представлена в такий спосіб:

в області, певної умовами

(1)

(2)

- цілі, . (3)

знайти рішення при якому максимізується (мінімізується) значення цільової функції

(4)

Якщо , то (1-4) є моделлю задачі цілочисленного програмування, якщо - моделлю задачі частково цілочисленного програмування.

Часткою случаємо задачі цілочисленного програмування є задача з булевими змінними. Її математична модель у загальному виді записується в такий спосіб:

в області, певної умовами

(5)

(6)

знайти рішення , при якому максимізується (мінімізується) значення функції

(7)

До класу задач цілочисленного програмування примикають задачі, у яких умова цілочисленності всіх або частини змінних замінено вимогою дискретності. А саме, для кожної j-і змінної заздалегідь визначений набір значень (не обов'язково цілих), які вона може приймати: де .

Передбачається, що сільгоспкооперативи, тобто . Математична модель загальної задачі дискретного програмування може бути представлена в такий спосіб:

в області, певної умовами

(8)

(9)

знайти рішення , при якому максимізується (мінімізується) лінійна функція

(10)

Умова (9) визначило назву цього класу; задач. Якщо , то (8-10) називається задачею дискретного програмування; якщо , те (8-10) називається задачею частково дискретного програмування.

Неважко бачити, що умова (2-3) задачі (1-4) і умова (6) задачі (5-7) є часткою случаємо умови (9) задачі (8-10). Дійсно, (2-3) відповідає тому случаю, коли для . Умова (9) відповідає випадку, коли .

Для задач цілочисленного типу визначене поняття припустимого й оптимального рішення.

Вектор , що задовольняє умовам (1-3) (відповідно (8-9)), називається припустимим рішенням задачі (1-4) (відповідно (8-10)). Припустиме рішення, при якому функція (4) (відповідно (10)) досягає найбільшого (найменшого) значення, називається оптимальним рішенням.

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

ПРИКЛАД. В області, певної умовами

- цілі

знайти максимум функції .

Вирішимо задачу геометрично (мал. 1). Область пошуку екстремума - багатокутник ODABC, але тому що лінія рівня цільової функції паралельна стороні АВ багатокутника, екстремум досягається у вершинах і , а також у будь-якій крапці відрізка АВ, і дорівнює 7.

(мал. 1)

Однак нас цікавлять лише крапки із цілочисленними координатами, отже, ні А, ні В не є припустимим рішенням задачі. Округляючи значення координат А, одержимо Але крапка А' не належить області пошуку. Можна показати, що цілочисленний оптимум досягається в крапках N (3; 2) і M (2; 3) і дорівнює 5. Обидві крапки усередині області пошуку.

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

2. Теоретичні основи методів відсікання

Запишемо загальну задачу цілочисленного програмування: в області, певної умовами

(11)

(12)

- цілі, (13)

максимізувати функцію

(14)

Назвемо для кратності задачу (11-14) (Јц, C) - задачею. Відповідну їй задачу без вимоги цілочисленності змінних, тобто задачу (11, 12, 14) назвемо (Ј, C) - задачею. Порушимо питання: чи не можна рішення (Јц, C) - задачі одержати шляхом рішення якоїсь спеціальним образом побудованої задачі без вимоги цілочисленності змінних і такий, що оптимальні рішення вихідної (Јц, C) - задачі й задачі без вимог цілочисленності змінних будуть збігатися. Іншими словами: чи не можна добре вивчений апарат рішення задач лінійного програмування пристосувати до рішення цілочисленних задач. Принципова відповідь на це питання дає наступна теорема.

Теорема. Нехай Ј - багатогранник, Јц - множина його цілих крапок, R - опукла, лінійна оболонка множини Јц, тоді:

1) R=Rц - цілочисленний багатогранник;

2) Rц = Јц;

3) R* - множина опорних рішень задачі (Јц, C) утримується в багатограннику Rц.

Доказ. Доведемо, що R - цілочисленний багатогранник. За умовою теореми Ј - багатогранник, тому множина його цілих крапок (воно позначено через Јц) звичайно. Оскільки R - опукла лінійна оболонка цієї кінцевої множини крапок, R - теж багатогранник.

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

Доведемо, що Rц збігається з Јц. Тому що R - опукла оболонка крапок множини Јц, те Јц Rц.

Покажемо, що справедливо також і протилежна нерівність-включення, т.е. RцЈц. Для цього виберемо деякий довільний елемент х°Rц. Оскільки Rц містить всі опорні рішення задачі (Јц, C), те х° задовольняє умовам задачі (Јц, C), тобто х°Јц. Але оскільки довільний елемент із Rц належить Јц, те очевидно, що справедливо RцЈц. Зіставляючи протилежні включення RцЈц і ЈцRц доходимо висновку: що Јц=Rц. Друга частина теореми також доведена.

Доказ 3-го пункти теореми є зовсім очевидним. Тому що R* - множина опорних рішень задачі (Јц, C), те R*Јц але Јц=Rц, тому R*Rц

Теорема доведена.

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

Доведена теорема й наслідок з її показують принципову можливість заміни рішення задачі типу (Јц, C) деякою процедурою побудови й рішення допоміжної задачі типу (Ј, C), однак не дають алгоритму рішень. До того ж побудова опуклої оболонки множини Јц реальних задач - надзвичайно складна, а часом практично нерозв'язна задача,

В 1954 р. Дж. Данциг висловив ідею про те, що побудова опуклої оболонки цілочисленної області для задачі (Јц, C) можна здійснювати поетапно й вирішувати одержувані при цьому задачі. Однак при цьому виникли питання як будувати обмеження нової задачі і як забезпечити кінцівка процесу.

Відповідь на ці питання був уперше отриманий Р. Гомори, що запропонував алгоритми рішення цілочисленних і. частково цілочисленних задач.

Алгоритм Р. Гомори складається з наступних процедур:

Вирішується (Ј, C) - задача, що відповідає вихідної (Јц, C) - задачі.

Отримане оптимальне рішення (Ј, C) - задачі, якщо воно існує, перевіряється на целочисленність. Якщо умова цілочисленності виконується по всім змінним, то оптимальне рішення (Ј, C) - задачі є оптимальне рішення (Јц, C) - задачі. Якщо умова цілочисленності не виконується хоча б по одній координаті, то переходять до третього етапу. Якщо (Ј, C) - задача, виявляється нерозв'язної, те (Јц, C) - задача теж рішення не має.

Будується додаткове обмеження, що володіє тим властивістю, що з його допомогою відтинається частина області, у якій утримується оптимальне рішення (Ј, C) - задачі й не втримується жодного припустимого рішення (Јц, C) - задачі. Процес побудови додаткових обмежень і рішення одержуваних при цьому (Ј, C) - задач триває доти, поки не одержимо цілочисленного рішення або не переконаємося в нерозв'язності задачі.

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

додаткове обмеження повинне бути лінійним, щоб залишатися в області застосовності апарата лінійного програмування;

додаткове обмеження повинне відтинати частина області, у якій не втримується припустимих рішень цілочисленної (Јц, C) - задачі, але є знайдене оптимальне рішення нецілочисленної (Ј, C) - задачі, тобто обмеження повинне мати властивість правильності, що не дозволяє втратити оптимальне рішення вихідної (Јц, C) - задачі.

Нехай х (Ј, C) - оптимальне рішення (Ј, C) - задачі, що є неприпустимим рішенням для (Јц, C) - задачі. Нерівність

(15)

визначає правильне відсікання, якщо задовольняє

а) умові відсікання: x(?, C) задовольняє нерівності (15)

б) умові правильності: будь-яке припустиме рішення задачі (Јц, C), задовольняє нерівності (15).

Методи, засновані на використанні процедури побудови правильних відсікань, одержали назву методів відсікання.

3. Перший алгоритм Гомори

Випливаючи загальній схемі методів відсікання, вирішимо (Ј, C) - задачу (11, 12, 14), що відповідає (Јц, C) - задачі (11-14). Нехай x(Ј, C) - її оптимальне рішення. Проаналізуємо координати x(Ј, C) на цілочисленність. Якщо всі координати вектора x(Ј, C) цілі, то x(Ј, C) = x(Јц, C). Якщо хоча б одна координата, нехай xi, буде нецілої, надійдемо в такий спосіб.

Позначимо через N сукупність небазисних змінних і на підставі останньої симплексної таблиці запишемо розкладання xi по небазисним змінним xi, jN

(16)

Тому що xi - неціла величина, позначимо найближче ціле число, що не перевершує xi, через [xi] і визначимо дробову частину: {xi}= xi - [xi]. Очевидно, (xi)>0.

Покажемо, що по i-і рядку симплексної таблиці (?, C) - задачі (у якій коштує неціла координата рішення) можна визначити додаткове лінійне обмеження, що володіє властивостями правильності.

Теорема. Нехай - припустиме рішення (Јц, C) - задачі, тоді співвідношення

, (17)

, - ціле,

визначають правильне відсікання.

Доказ.

Запишемо вираження (16) у вигляді:

Використовуючи для цього вираження формулу (17), одержимо:

або

На підставі припущень теореми про допустимість рішення

(Јц, C) - задачі xi - ціле. Величини [xio], - цілі по визначенню, отже, zi - теж ціле.

Отже, zi певне формулою (17), ціле. Доведемо що . Доказ будемо вести від противного. Нехай .-

Це значить, що . По визначенню дробової частини . За умовою теореми x - припустиме рішення (Јц, C) - задачі, тому . Отже,

Тоді повинне виконуватися:

Отже, із припущення заперечності zi, відразу ж одержуємо тобто zi - неціле. Оскільки раніше було показано, що zi, певне формулою (17), є цілим, те тим самим ми прийшли до протиріччя. Отже, припущення, що zi < 0, невірне. Теорема доведена.

Наслідок. Будь-яке оптимальне рішення x(Ј, C) (Ј, C) - задачі, що не є припустимим рішенням (Јц, C) - задачі, не задовольняє умові правильного відсікання (17).

Доказ. Нехай х (Ј, C) - оптимальне рішення (Ј, C) - задачі, xi0 - дробове.

Покажемо, що х (Ј, C) не задовольняє умові відсікання. Оскільки план оптимальний, всі небазисні змінні xi, для jN дорівнюють нулю. Тому . З огляду на це, підставимо xio у формулу (17):

Страницы: 1, 2



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.