Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
24
Добавлен:
15.06.2014
Размер:
221.7 Кб
Скачать

Курсовой проект.

По математическому программированию.

Выход...

Следующий...

Курсовой проект.

Задание

На главную...

О методе

 

 

Модель.

До...

About составитель

выход

После...

Задание:

Распределение информации на внешних ЗУ

На главную... Рассматривается. многоступенчатая система хранения данных: на верхнем уровне используются ЗУ, обеспечивающим производительность системы. Пусть n – число массивов информации; di , i=1,n

объем i-го массива информации; Pi , i=1,n – вероятность использования i-го массива в оперативной памяти; m – число уровней памяти; Θj, j=1…m – объем памяти j-го типа; tj, j=1…m – быстродействие памяти j-го типа. Распределить массивы информации по уровням памяти так, чтобы свести к минимуму время их обработки (суммарное время обращения к памяти).

До...

выход

После...

Порядок работы:

На главную...

Решение методом искусственного базиса

Решение симплекс методом.

Решение методом Гомори

До...

выход

После

 

На главную...

Симплекс метод

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

:

 

 

 

 

 

Шаг 0 Подготовительный этап. Приводим задачу ЛП к специальной форме .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Шаг 1 Составляем симплекс-таблицу, соответствующую специальной форме.

,...,b

 

,0,...,0)

 

 

 

 

 

 

 

 

 

Заметим, что этой таблице соответствует допустимое базисное решение

x (b

m

задачи . Значение целевой функции на этом

.

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

решении L(x) 0 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m 1 ,..., n

 

 

 

 

 

 

Шаг 2 Проверка на оптимальность. Если среди элементов индексной строки симплекс – таблицы

нет ни одного

 

 

 

положительного элемента то, оптимальное решение задачи ЛП найдено: . x*

b ,..., x* b

, x*

0,..., x*

0, L*

0

Алгоритм завершает работу.

Шаг 3 Проверка на неразрешимость.

 

 

 

 

 

 

 

1

1

m

 

m

m 1

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если среди m 1 ,..., n есть положительный элемент , а в соответствующем столбце

 

(a1l ,..., aml )

нет ни одного положительного

элемента , то целевая функция L является неограниченной снизу на допустимом множестве. В этом случае оптимального решения не

 

существует. Алгоритм завершает работу.

 

m 1 ,..., n

 

 

 

 

 

 

 

 

 

 

 

 

 

q max j

Шаг 4 Выбор ведущего столбца q. Среди элементов

 

 

 

 

 

выбираем максимальный положительный элемент.

 

j 0

Этот

столбец объявляем ведущим (разрешающим).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bp

 

b

 

Шаг 5 Выбор ведущей строки p.

a1q ,..., amq

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

min

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

столбца находим элемент , для которого выполняется равенство: a pq

aiq

 

Среди положительных элементов

 

aiq 0

 

Строку p объявляем ведущей (разрешающей). Элемент объявляем ведущим (разрешающим).

 

 

 

 

 

 

 

 

 

 

Шаг 6 Преобразование симплексной таблицы.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Составляем новую симплекс-таблицу, в которой:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а) вместо базисной переменной записываем не базисную , вместо небазисной переменной записываем базисную;

 

 

 

 

 

 

б) ведущий элемент заменяем на обратную величину ;

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a pq

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в) все элементы ведущего столбца (кроме ведущего ) умножаем на ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

г) все элементы ведущей строки (кроме ведущего) умножаем на ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

д) оставшиеся элементы симплексной таблицы преобразуются по следующей схеме «прямоугольника».

 

 

 

 

 

 

 

Из элемента вычитается произведение трех сомножителей:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

первый - соответствующий элемент ведущего столбца;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

второй - соответствующий элемент ведущей строки;

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

третий - обратная величина ведущего элемента .

 

 

apq

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Преобразуемый элемент и соответствующие ему три сомножителя как раз и являются вершинами «прямоугольника».

 

 

 

 

Шаг 7 Переход к следующей итерации осуществляется возвратом к шагу 2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

До...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

выход

После...

Метод искусственного базиса

Ш1: Приводим задачу ЛП к канонической форме с неотрицательными правыми частями .

Ш2: В каждую i-ю строку ограничений вводим искусственную неотрицательную переменную xi и строим вспомогательную задачу

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

Ш3: Для построенной вспомогательной задачи строим симплексную таблицу и находим оптимальное решение вспомогательной задачи с помощью симплекс-метода.

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

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

Ш5:Если в базисе остались искусственные переменные , для которых , то проводим для каждой искусственной переменной из базиса следующее преобразование симплексной таблицы: выбираем ведущим столбцом столбец такой переменной , для которой элемент индексной строки , а элемент столбца

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

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

 

 

Метод Гомори

 

На главную...Шаг 1. Симплекс-методом находим оптимальное решение задачи без учета условия целочисленности.

 

 

 

.Если задача не имеет решения, то неразрешима и исходная задача ЦЛП. В случае алгоритм

 

 

 

завершает работу.

 

 

 

Шаг 2. Пусть найдена оптимальная таблица.

 

 

 

Если элементы bi– целые, то оптимальное решение является целочисленным. В этом случае

 

 

 

вычисления заканчиваем. Иначе, переходим к следующему шагу.

 

 

 

Шаг 3. Среди дробных компонент bi таблицы выбираем элемент с максимальной дробной частью и

 

 

 

по строке i составляем дополнительное ограничение:

 

 

 

 

Si i ( i1 1 ... ik k ),

 

 

 

i bi bi , i1 ai1

ai1 ,..., ik aik aik

 

 

Здесь - [z] целая часть числа (наибольшее целое число, не превышающее число ).

 

 

Шаг 4. Добавляем построенное ограничение к последней симплекс-таблице и,

 

 

 

применяя двойственный симплекс-метод, находим оптимальное решение.

 

 

 

Переходим к шагу 2.

 

 

 

Замечания.

 

 

 

Признаком отсутствия целочисленного решения служит появление в таблице хотя бы

 

 

 

одной строки с дробным свободным членом и целыми остальными

 

 

 

коэффициентами (поскольку соответствующее уравнение неразрешимо в

 

 

 

целых числах).

 

 

 

На шаге 4 двойственный симплекс-метод применяется до тех пор, пока не будет

 

 

 

получена оптимальная симплексная таблица (возможно, потребуется

 

До...

 

несколько итераций).

 

 

Если на шаге 4 в базис вводится переменная дополнительного ограничения , то эта

 

 

 

строка вычеркивается из симплексной таблицы), ответствующее ограничение

выход

 

 

является избыточным).

 

После...

Двойственный симплекс метод

На главную... . Шаг 0. Начинаем с симплексной таблицы, где

m 1

0,..., n 0

Шаг 1. Проверка на оптимальность. Если ,

 

 

 

 

 

 

 

 

bi

 

0,i 1, m

 

 

 

 

 

 

 

 

то решение - x* (b1 ,...,bm ,0,...,0)

оптимальное.

 

 

 

Шаг 2. Выбор ведущей строки. Выбираем среди номеров i, для которых , номер k с

максимальным по модулю значением bk max

 

bi

 

 

 

 

 

 

 

 

 

 

Строка k объявляется ведущей.

 

bi 0

 

 

 

 

(ak1 ,..., akm ) нет отрицательных

 

 

 

 

 

Шаг 3. Проверка на неразрешимость. Если в строке

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

задача не имеет допустимых решений. Процесс решения завершается.

Шаг 4. Выбор ведущего столбца s. Выбираем среди отрицательных элементов строки

 

(ak1 ,..., akm )

 

э

элемент с номером s, для которого выполняется

равенство

j

 

 

 

 

 

 

 

 

 

 

 

 

s

min

 

 

 

 

 

 

 

 

 

 

aks

akj

 

 

 

 

 

 

 

 

 

 

akj 0

 

 

 

 

 

 

 

 

 

Столбец s объявляется ведущим, а элемент - ведущим элементом.

Шаг 5. Проводим стандартное преобразование симплексной таблицы (Шаг 6 из прямого

симплекс-метода).

 

 

 

 

 

 

 

 

 

До...

выход

После...

Модель

На главную...

По заданию составляем целевую функцию и ограничения:

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

n

n

 

 

 

 

 

 

f (x) pi xij t j max

 

 

 

 

 

 

i

j

 

 

 

 

Ограничения.

n

 

n

n

0 xij 1

1

n n

 

xij

1

xij 1

di xij Qi

di xij p j L

xij

0

i j

 

j

 

i

i

 

 

i 1, n

n m

 

 

 

 

 

 

j 1, n

 

 

 

 

 

 

Решаем полученную целевую функцию и ограничения с помощью сначала симплекс методом потом методом Гомори.

Так как у нас 2 типа информации то , то введем значения P, d, t, Q, C и L.

P1=0,2; P2=0,8;

t1=1; t2=2;

d1=3; d2=8;

Q1=10; Q2=20;

L=1.2

 

До...

выход

После...

Автор:

На главную...

Курсовой проект выполнил студент группы АС-322 Смерницкий Николай

До...

выход

2005 год.