Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

для студентов экономических специальностей 4 страница



Пример. Найти решение задачи целочисленного линейного программирования:

- целые

В результате решения данной задачи симплексным методом без условия целочисленности получили симплекс-таблицу, соответствующую оптимальному решению (см. Таб.3.) и оптимальное решение при .

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

Наибольшую дробную часть имеет , т.к.

.

Поэтому сформируем правильное отсечение - неравенство по строке, соответствующей этой компоненте.

Это неравенство введением дополнительной неотрицательной целочисленной переменной преобразуем в равносильное уравнение:

Полученное соотношение добавляем в симплекс-таблицу дополнительной строкой (свободный член вносим без изменения знака, а коэффициенты при свободных переменных - с противоположным знаком).

Базисные переменные Свободные члены Свободные переменные
x4 x5
x1
x3      
x2
x6
Z

Полученную расширенную задачу решаем симплекс-методом.

Базисное решение - недопустимое, т.к. имеется отрицательный элемент, ограничения совместны (в строке, имеющей отрицательный свободный член есть отрицательные элементы).

Столбец, соответствующий , принимаем в качестве разрешающего. Для определения разрешающей строки найдем минимальное положительное отношение свободных членов к элементам разрешающего столбца: .

Базисную переменную переводим в свободные переменные, а свободную переменную - в базисные.

В результате преобразования симплекс-таблицы получим:

Базисные переменные Свободные члены Свободные переменные
x6 x5
x1     -3
x3     -8
x2     -1
x4   -11 9
Z     -19

Базисное решение - допустимое, т.к. в столбце свободных членов нет ни одного отрицательного элемента, но неоптимальное (в строке целевой функции, кроме столбца свободных членов, элементы не одного знака). Целевая функция ограничена сверху, т.к. в столбце, не удовлетворяющем признаку оптимальности, есть положительные элементы.

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

Базисную переменную переводим в свободные переменные, а свободную переменную - в базисные.

Преобразуем симплекс-таблицу:

Базисные переменные Свободные члены Свободные переменные
x6 x4
x1  
x3  
x2  
x5  
Z  

Базисное решение - допустимое, т.к. в столбце свободных членов нет ни одного отрицательного элемента, и оптимальное (в строке целевой функции все элементы положительные (одного знака)).

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

Максимальное значение целевой функции при .

9. Транспортная задача

Постановка транспортной задачи.

У m поставщиков сосредоточен однородный груз в количествах соответственно . Имеющийся груз необходимо доставить n потребителям , спрос которых равен соответственно . Известна стоимость перевозки единицы груза от i – го поставщика к j - му потребителю - . Требуется найти оптимальный план перевозок, обеспечивающий минимальные затраты и вывоз грузов и удовлетворение потребностей.

Экономико-математическая модель задачи.

Пусть - количество единиц груза, которое необходимо доставить от i – го поставщика к j - му потребителю.

Целевая функция:

(1)- минимизация общих затрат на реализацию плана перевозок.

Ограничения на запасы поставщиков:

(2) - все запасы должны быть вывезены.

Ограничения на спрос потребителей:

(3) - все потребности должны быть удовлетворены.

Условия неотрицательности:

(4)

Модель транспортной задачи называют закрытой, если суммарный объём груза, имеющегося у поставщиков, равен суммарному спросу потребителей, т.е. выполняется условие . Если это условие не выполняется (), то модель транспортной задач называется открытой.

Если , то открытая транспортная задача сводится к закрытой путем ведения фиктивного потребителя с объемом потребностей и стоимостями перевозок, равными нулю. Если , то вводится фиктивный поставщик с объемом груза и стоимостями перевозок, равными нулю.

Число переменных в транспортной задаче с m поставщиками и n потребителями равно nm, а число уравнений в системах (2) и (3) равно n+m. Так как предполагается, что выполняется условие , то число линейных независимых уравнений равно n+m-1. Следовательно, опорный план транспортной задачи может иметь не более n+m-1 отличных от нуля неизвестных.

Если в опорном плане число отличных от нуля компонент равно n+m-1, то план является невырожденным, а если меньше – то вырожденным.

Транспортная задача является канонической задачей линейного программирования, и для ее решения в принципе можно использовать симплекс-метод. Однако, в силу специфичности транспортной задачи, используются более эффективные методы.

Алгоритм решения транспортной задачи (методом потенциалов).

1. Определяется исходный план (метод северо-западного угла, метод минимальной стоимости и др.).

2. Производится оценка плана.

3. Осуществляется переход к следующему плану.

Получение исходного плана основано на заполнении следующей таблицы:

  …… ……  
…… ……  
…… …… …… ……. …… ……  
…… ……  
…… …… …… ……… …… ……  
…… ……  
       

В каждой ячейке в левом верхнем углу помещаются стоимости перевозок, в правом нижнем углу объемы поставок от i -го поставщика к j- му потребителю. В верхней строке указываются мощности поставщиков, в левом столбце – спрос потребителей.

Рассмотрим методы получения первого опорного плана.

а) Метод северо-западного угла.

Рассматривается незаполненная левая верхняя ячейка. Эта ячейка заполняется минимальным значением от возможного объема поставок и объема потребностей. В результате или будут удовлетворены все потребности, или исчерпаны запасы поставщика. Если удовлетворены потребности, то остальные ячейки этого столбца зачеркиваются и в последующих распределениях не участвуют.

Если исчерпаны запасы поставщика, то зачеркиваются остальные ячейки соответствующей строки, и они не участвуют в последующих распределениях.

Вновь рассматривается незаполненная северо-западная ячейка, и итерации повторяются.

Замечание. Этот метод не учитывает стоимость перевозок, и поэтому исходный план может оказаться далеким от оптимального.

б) Метод минимальной стоимости.

Из всех незаполненных ячеек находится ячейка с минимальной стоимостью перевозок. Эта ячейка заполняется минимальным значением от возможного объема поставок и объема потребностей. В результате или будут удовлетворены потребности, или исчерпаны запасы.

Если исчерпаны запасы, зачеркиваются остальные ячейки соответствующей строки, и они не участвуют в последующих распределениях.

Если удовлетворены все потребности, то зачеркиваются остальные ячейки соответствующего столбца, и они не участвуют в последующих распределениях.

Вновь из всех незаполненных ячеек находится ячейка с минимальной стоимостью, итерации повторяются.

Если план получается вырожденным, т.е. m+n-1 не совпадает с числом заполненных ячеек, то вводится фиктивно заполненная нулем ячейка. Для этого из всех незаполненных ячеек находится ячейка с минимальной стоимостью. Если на основе этой ячейки невозможно построить замкнутый цикл со всеми заполненными вершинами, то она принимается в качестве фиктивной. В обратном случае эта ячейка исключается из рассмотрения претендентов на фиктивную ячейку.

Для оценки плана:

1) Вычисляются потенциалы поставщиков и потребителей . Потенциалы для заполненных ячеек распределительной таблицы удовлетворяют условию (5).

Для получения решения системы уравнений (5) используется тождество .

2) Вычисляются оценки свободных ячеек

Если все , то план оптимальный. Если для всех ячеек , то оптимальный план является единственным. Если какая-либо оценка , то существует бесчисленное множество решений с одинаковым значением целевой функции (решение оптимальное, но альтернативное). Если какое-либо значение , то план неоптимальный, и необходимо произвести загрузку свободной ячейки (получение новой таблицы).

Для перехода к следующему опорному плану для ячейки с минимальной отрицательной оценкой строится замкнутый цикл с вершинами в заполненных ячейках (Замкнутый цикл – это ломаная линия (возможно, прямоугольник), вершинами которой являются заполненные ячейки, кроме одной свободной ячейки с минимальной отрицательной оценкой).

В свободную вершину цикла вписывается “+”, а все последующие вершины по часовой стрелке будут иметь “-”, “+”, “-”,…

Находится минимальный объем груза для всех отрицательных вершин цикла. В вершинах цикла со знаком «+» объем увеличивается на эту величину, в вершинах со знаком «-» - уменьшается. В результате баланс распределения не нарушается.

Затем снова производится оценка опорного плана.

Замечание: Если полученный опорный план вырожденный, то необходимо выбрать свободную ячейку с минимальной стоимостью без образования замкнутого цикла с заполненными вершинами и в эту ячейку вписать ноль.

Рассмотрим пример решения транспортной задачи.

Пример. Предприятие имеет 3 склада готовой продукции: А1, А2, А3, на которых соответственно имеются 70, 90 и 60 единиц товара. Рынкам сбыта, находящимся в городах B1, B2, B3, B4, необходимо распределить следующее количество единиц продукции – 90, 40, 50 и 20. Стоимость перевозки единицы продукции со склада на рынок сбыта задается таблицей (в у.е.):

Склады Мощность складов Потребности рынков сбыта
B1 B2 B3 B4
       
А1          
А2          
А3          

Необходимо составить план распределения товаров между рынками сбыта, обеспечивающий минимальные транспортные издержки.

Составим экономико-математическую модель данной задачи.

Обозначим через - объём перевозки от i –ого склада j – ому рынку сбыта.

Тогда суммарные затраты на перевозку Z составят:

Заданные мощности складов и потребности рынков сбыта накладывают ограничения на значения объемов перевозок :

- Мощности всех складов должны быть реализованы:

- Спросы потребителей должны быть удовлетворены:

- Объемы перевозимых грузов не могут быть отрицательными:

Решение.

1. Определим характер транспортной задачи.

Так как (суммарные мощности не равны суммарным потребностям), то данная задача является открытой и необходимо её привести к закрытой. Для этого введем фиктивного потребителя (рынок сбыта), потребность которого составляет . Все значения стоимости перевозок для этого потребителя .

После введения фиктивного потребителя задача становится закрытой, и её можно решить методом потенциалов.

2. Заполним распределительную таблицу исходными данными.

В результате введения фиктивного потребителя распределительная таблица исходных данных примет вид:

             
             
             
             
             

3. Составим первый опорный план методом «минимальной стоимости».

В первую очередь заполняется ячейка с минимальной стоимостью. Это ячейки с нулевой стоимостью. Сравним максимально возможные поставки для этих ячеек: для ячейки (1,5) , для ячейки (2,5) , для ячейки (3,5) . Так как для ячеек (1,5), (2,5) и (3,5) эти значения равны, то произведем максимально возможную поставку в любую из них. Например, в ячейку (1,5) даем поставку, равную 20. В результате потребность фиктивного рынка сбыта удовлетворена, и последний столбец таблицы поставок выпадает из рассмотрения.

             
             
             
             
             

В оставшейся таблице наименьшей стоимостью, равной 1, обладает ячейка (1,2). Поскольку на складе в наличии имеется 70-20 = 50 единиц товара, то мы можем полностью удовлетворить потребность 2-ого рынка сбыта, и 2-ой столбец выпадает из дальнейшего рассмотрения.

             
    1 40     0 20  
             
             
             

Далее заполняем ячейку (1,1), т.к. она обладает наименьшей стоимостью перевозки, равной 2. Потребность 2-ого склада равна 90 единицам товара, но с 1-ого склада ранее были вывезены 40 единиц товара для 2-ого рынка сбыта и 20 единиц товара для 5-ого склада. Поэтому на 1-ый рынок сбыта мы можем поставить только 10 единиц товара, и товары, находившиеся в наличии 1-ого склада, полностью вывезены, т.е. 1-ая строка выпадает из дальнейшего рассмотрения.

             
  2 10 1 40     0 20  
             
             
             

В оставшейся таблице минимальными стоимостями (равной 3) обладают ячейки (2,3) и (3,1). Потребность 3-ого рынка сбыта равна 50 единицам товара, и 2-ой склад (его мощность составляет 90 единиц товара) может полностью её удовлетворить. Потребность 1-ого рынка сбыта равна 60 единицам товара, и 1-ый склад также может полностью её удовлетворить (оставшаяся мощность равна 90 - 10=80 единиц).

Максимально возможную поставку, равную 60 единицам, произведем в ячейку (1,3), тогда последняя строка выпадает из рассмотрения.

             
  2 10 1 40     0 20  
             
  3 60          
             

Рассуждая аналогичным образом, заполним оставшуюся часть распределительной таблицы. В результате получим:





Дата публикования: 2015-07-22; Прочитано: 166 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.442 с)...