Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Табличный алгоритм обмена переменных




Содержание

ВВЕДЕНИЕ.............................................................................................. 2

ЛАБОРАТОРНАЯ РАБОТА № 1.......................................................... 3

ЛАБОРАТОРНАЯ РАБОТА № 2........................................................ 18

 

 


ВВЕДЕНИЕ

Данные методические указания являются описанием лабораторных работ по курсу «Исследование операций». Они имеют цель дать обучающимся возможность самостоятельной разработки и реализации наиболее популярных алгоритмов курса

При выполнении лабораторных работ используется язык программирования Турбо Паскаль либо другой по согласованию с преподавателем.

Методические указания предназначены для студентов факультета автоматизации и вычислительной техники, и могут быть использованы студентами других специальностей для выполнения лабораторных работ по курсу «Исследование операций» а также «Основы алгоритмизации и программирования».

 

ЛАБОРАТОРНАЯ РАБОТА № 1

Решение задач линейного программирования Симплекс-методом

Теоретические положения

Симплекс-метод применяется для решения основной задачи линейного программирования (ОЗЛП), которая ставится следующим образом.

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

и, кроме того, обращали бы в максимум называемую целевой (ЦФ) линейную функцию

Очевидно, случай поиска минимума ЦФ сводится к предыдущему, если изменить знак функции и рассмотреть вместо неё функцию

Условимся называть допустимым решением ОЗЛП любую совокупность переменных

удовлетворяющую уравнениям (1.1).

Оптимальным решением будем называть то из допустимых решений, при котором ЦФ (1.2) обращается в максимум.

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

На практике ограничения в задаче линейного программирования часто задаются не уравнениями, а неравенствами.

Пусть имеется задача линейного программирования с переменными, с ограничениями, заданными в виде неравенств. Т.к. ограничения со знаком неравенства " " сводятся к ограничениям со знаком " " простой переменой знака обеих частей, зададим все ограничения неравенства в стандартной форме:

Введём обозначения:

где — некоторые новые переменные, которые мы будем называть "добавочными". Согласно условиям, эти добавочные переменные, так же, как и основные, должны быть неотрицательными.

Таким образом, перед нами в чистом виде основная задача линейного программирования (ОЗЛП): найти такие неотрицательные значения переменных ; чтобы они удовлетворяли системе уравнений и одновременно обращали в максимум линейную функцию этих переменных:

Уравнения заданы в форме, уже разрешённой относительно базисных переменных , которые выражены через свободные переменные . Общее количество переменных равно .

Таким образом, задача линейного программирования с ограничениями-неравенствами сведена нами к ОЗЛП, но с большим числом переменных, чем было первоначально.

Преобразуем теперь систему уравнений, представив их правые части как разности между свободными членами и суммой остальных:

где ; ; …; .

Форму записи уравнений будем называть стандартной. Приведём также к стандартной форме и целевую функцию:

где; ; …; .

Очевидно, вместо того, чтобы полностью записывать уравнения, (1.6), можно ограничиться заполнением стандартной таблицы, где указаны только свободные члены и коэффициенты при переменных:

Таблица 1.1.

  Свободный член

Для дальнейшего удобства переобозначим коэффициенты:

Таблица 1.2

  Свободный член

Нахождение решения каждой задачи линейного программирования распадается на два этапа:

1) отыскание опорного решения;

2) отыскание оптимального решения, максимизирующего линейную целевую функцию.

Оба этапа используют табличный алгоритм обмена переменных.

Табличный алгоритм обмена переменных

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

Для замены переменных следует выполнить следующие действия:

1. Меняются местами заголовки разрешающей строки и разрешающего столбца .

2. Разрешающий элемент заменяется на обратную ему величину .

3. Все элементы разрешающего столбца (кроме самого разрешающего элемента) меняют знак и умножаются на новый разрешающий элемент:

.

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

5. Все элементы разрешающей строки (кроме разрешающего) умножаются на новый разрешающий элемент:





Поделиться с друзьями:


Дата добавления: 2016-09-06; Мы поможем в написании ваших работ!; просмотров: 662 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Даже страх смягчается привычкой. © Неизвестно
==> читать все изречения...

2456 - | 2156 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.