Автор работы: Пользователь скрыл имя, 01 Декабря 2010 в 17:20, Не определен
Введение
1. Экономическая постановка задачи
2. Математическая постановка задачи
3. Выбор метода реализации модели. Обоснование выбора
4. Схема алгоритма и его описание.
5. Краткая характеристика ЭВМ и ее программного обеспечения.
6. Обоснование выбора языка программирования.
7. Решение задачи-теста для написания и отладки программы.
8. Анализ полученных результатов.
9. Инструкции пользователю и описание программы.
Заключение.
Литература.
Приложение
Операционная система осуществляет загрузку в оперативную память всех программ, передает им управление в начале их работы, выполняет различные действия по запросу выполняемых программ и освобождает занимаемую программами оперативную память при их завершении.
В настоящее
время существуют более
Рекомендуемая конфигурация для программы SIMPLEX METHOD:
Данной программе
требуется минимальная
Процессор 386 (рекомендуется 486 or high)
1М оперативной памяти.
2М жесткого диска.
VGA monitor
6. ОБОСНОВАНИЕ
ВЫБОРА ЯЗЫКА ПРОГРАММИРОВАНИЯ
Язык Borland Pascal
7.0 обладает свойствами
7. РЕШЕНИЕ ЗАДАЧИ ТЕСТА ДЛЯ
НАПИСАНИЯ И ОТЛАДКИ ПРОГРАММЫ
Для нашей конкретной задачи ресурсные ограничения имеют вид:
1.2X1 + 1.8X2 + 2.4X3 £ 768
2.4X1 + 1.2X3 + 2.4X4 £ 600
1.2X2 + 1.2X3 + 1.2X4 £ 480
Ограничения по комплектности:
A1 2
A2 1 A1 = 2A2 |
A3 4
A4 1 A3 = 4A4 |
Отсюда составляем систему уравнений:
X1 - 2X2
X3 - 4X4 = 0
Итак, система ограничений задачи состоит из 5 уравнений и целевой функции:
Fmax = X1+X2+X3+X4
Приводим систему к каноническому виду:
1.2X1 + 1.8X2 + 2.4X3 +X5
2.4X1 + 1.2X3 + 2.4X4 +X6
1.2X2 + 1.2X3 + 1.2X4
+X7
X1 - 2X2
X3 - 4X4
Приводим
целевую функцию к
Fmax = X1+X2+X3+X4 + 0X5+0X6+0X7-My1-My2
Так как введены искусственные переменные – исследуем на минимум.
Fmin = -X1-X2-X3-X4 - 0X5-0X6-0X7+My1+My2
Таблица 7.1
Симплекс таблица
-1 | -1 | -1 | -1 | 0 | 0 | 0 | M | M | |||
C | Б | H | X1 | X2 | X3 | X4 | X5 | X6 | X7 | Y1 | Y2 |
0
0 0 M M |
X5
X6 X7 Y1 Y2 |
768
600 480 0 0 |
1.2
2.4 0 1 0 |
1.8
0 1.2 -2 0 |
2.4
1.2 1.2 0 1 |
0
2.4 1.2 0 -4 |
1
0 0 0 0 |
0
1 0 0 0 |
0
0 1 0 0 |
0
0 0 1 0 |
0
0 0 0 1 |
0 | 1 | -2 | 1 | -4 | 0 | 0 | 0 | 0 | 0 | ||
0
0 0 M -1 |
X5
X6 X7 Y1 X3 |
768
600 480 0 0 |
1.2
2.4 0 1 0 |
1.8
0 1.2 -2 0 |
0
0 0 0 1 |
9.6
7.2 6.0 0 -4 |
1
0 0 0 0 |
0
1 0 0 0 |
0
0 1 0 0 |
0
0 0 1 0 |
|
0 | 1 | -2 | 0 | 0 | 0 | 0 | 0 | 0 | |||
0
0 0 -1 -1 |
X5
X6 X7 X1 X3 |
768
600 480 0 0 |
0
0 0 1 0 |
4.2
4.8 1.2 -2 0 |
0
0 0 0 1 |
9.6
7.2 6.0 0 -4 |
1
0 0 0 0 |
0
1 0 0 0 |
0
0 1 0 0 |
||
0 | 0 | 3 | 0 | 5 | 0 | 0 | 0 | ||||
0
0 -1 -1 -1 |
X5
X6 X4 X1 X3 |
0
24 80 0 320 |
0
0 0 1 0 |
2.28
3.36 0.2 -2 0.8 |
0
0 0 0 1 |
0
0 1 0 0 |
1
0 0 0 0 |
0
1 0 0 0 |
-1.6
-1.2 0.16 0 0.66 |
||
-400 | 0 | 2 | 0 | 0 | 0 | 0 | -0.83 | ||||
-1
0 -1 -1 -1 |
X2
X6 X4 X1 X3 |
0
24 80 0 320 |
0
0 0 1 0 |
1
0 0 0 0 |
0
0 0 0 1 |
0
0 1 0 0 |
0.43
-1.47 -0.08 0.87 -0.35 |
0
1 0 0 0 |
-0.7
1.15 0.3 -1.4 1.22 |
||
-400 | 0 | 0 | 0 | 0 | -0.87 | 0 | 0.57 | ||||
-1
0 -1 -1 -1 |
X2
X7 X4 X1 X3 |
14.54
20.72 73.63 29.08 294.5 |
0
0 0 1 0 |
1
0 0 0 0 |
0
0 0 0 1 |
0
0 1 0 0 |
-0.45
-1.27 0.3 -0.9 1.21 |
0.6
0.86 -0.26 1.21 -1.06 |
0
1 0 0 0 |
||
-410 | 0 | 0 | 0 | 0 | -0.15 | -0.49 | 0 |
Индексная строка при исследовании на минимум не содержит положительных элементов, значит, получено оптимальное решение:
Fmax = - Fmin = 410 – максимально возможный выпуск продукции (шт).
X1 = 29, 08 – Детали А1 (шт).
X2 = 14, 54 – Детали А2 (шт).
X3 = 294, 52 – Детали А3 (шт).
X4 = 73, 63 – Детали А4 (шт).
X7 = 20, 72 – Недостающие ресурсы (станко-часы).
8. АНАЛИЗ ПОЛУЧЕННЫХ РЕЗУЛЬТАТОВ
Решая задачу симплекс методом мы получили:
Детали A1 так относятся к деталям A2, как 2:1, т.е. деталей A1 – 30 штук, а деталей A2 – 15 штук. Соотношение, поставленное условием задачи, выполнено.
Соотношение между деталями A3 и A4 тоже выполнено. Детали A3 должны относиться к деталям A4 как 4:1. Это верно, так как деталей A3 – 292 штуки, а деталей A4 – 73 штуки.
Но на третьей группе оборудования идет недоиспользование ресурсов на 20 станко-часов.
Максимально возможная загрузка имеющегося оборудования – 410 деталей.
При решении
с помощью компьютера
9. ИНСТРУКЦИИ ПОЛЬЗОВАТЕЛЮ И ОПИСАНИЕ
ПРОГРАММЫ
Данная программа
используется в графической
К данной
курсовой работе прилагается
инсталляционная дискета с
Она может быть установлена в двух типах:
- Для преподавателя,
устанавливается с текстами
- Для пользователей, только запускаемые модули.
В любом случае вы запускаете ТОЛЬКО файл KoSer.EXE. У вас запустится графическая оболочка.
В этой
оболочке будут следующие
- Simplex Method, это сама программа для решения уравнений.
- Просмотр результатов, Чтобы просмотреть результат после решения.
- Tetris, обычная игра для развлечения.
- MsDos, Временный выход в DOS
- Exit, выход из оболочки KoSer.
В программе «Simplex Method» есть кнопки «Добавить строку», «Добавить столбец», «Удалить строку», «Удалить столбец», «Рассчитать», «Решить на MAX или MIN», «Решение ЦЕЛОЧИСЛЕННОЕ или НЕ ЦЕЛОЧИСЛЕННОЕ».
Переход к этим кнопкам осуществляется клавишей «TAB» или (рекомендуется) с помощью мышки.
Движение по
числовым значениям уравнения
Смена знака осуществляется клавишей «пробел».
Выход – крестик в верхнем углу экрана или клавиша «ESC».
ЗАКЛЮЧЕНИЕ
Данная курсовая
работа включает в себя два предмета:
«языки программирования» и «
В курсовой
работе были рассмотрены
- Рассмотрен
и дан алгоритм симплекс
- Дана краткая
характеристика ЭВМ, включая
- Рассмотрен выбор языка программирования.
- Написана программа для решения данной и многих других задач.
- Даны инструкции пользователю.
Данная программа была протестирована на очень многих примерах и везде она выдавала правильные результаты.
Единственное ограничение, количество столбцов не должно превышать 7 и строк не должно превышать 10.
Программа считает с точностью 2 знака после запятой.
Список используемой литературы:
1. Лищенко «Линейное
и нелинейное программирование»
2. А.Н. Карасев, Н.Ш. Кремер, Т.Н. Савельева
«Математические методы в экономике», 1987
ПРИЛОЖЕНИЯ
PROGRAM SIMPLEX_METOD;
USES CRT;
LABEL ZN,ST,ELL,_END;
TYPE MAS=ARRAY[1..30] OF REAL;
MASB=ARRAY[1..30] OF STRING[3];
MASX=ARRAY[1..30,1..30] OF REAL;
VAR Fo,FunctPr,B,H,Hnew,C,Cnew,
X,Xnew:MASX;
BS,Bvsp,ZNAC:MASB;
MIN,I1,I,J,Kx,Ky,Kit,NachKell,
PriznacY,KLstr,KLst,ErrCode,
P,P1,Mo,F0,Epsilon,Z:REAL;
VSP,S,PrGomory:STRING;
F:TEXT;
DPx,DPy,Fm,Kell,Kstr:INTEGER;
{ Функция создания индексов }
FUNCTION SIMVB(V:INTEGER;S:CHAR):
VAR M,Z:STRING;
BEGIN
STR(V,M);
Z:=S+M;
SIMVB:=Z;
END;
{ Процедура записи данных в файл }
PROCEDURE SAVE(X1:REAL;K:STRING;Mstr:
VAR V:STRING;
BEGIN
ASSIGN(F,'SIMPLEX.DAT');
APPEND(F);
CASE Mstr OF
0:WRITELN(F,'');
1:BEGIN
IF K=' ' THEN STR(X1:1:0,V) ELSE STR(X1:10:4,V);
WRITE(F,V);
WRITE(F,' ');
END;
2:WRITE(F,K);
3:WRITELN(F,K);
END;
CLOSE(F);
END;
{ Определение дополнительных переменных }
PROCEDURE DOP_PER;
BEGIN
IF ZNAC[I1]='=' THEN
BEGIN
Kell:=Kell+1;Bvsp[Kell]:=
DPy:=DPy+1;
Xnew[I1,Kell]:=1;
IF Fm=1 THEN FX[Kell]:=-1 ELSE FX[Kell]:=1;
FunctPr[Kell]:=1;
FOR I:=1 TO Kstr DO
IF I<>I1 THEN Xnew[I,Kell]:=0;
END;
IF ZNAC[I1]='>=' THEN
BEGIN
Kell:=Kell+1;Bvsp[Kell]:=
DPx:=DPx+1;Dop_X:=Dop_X+1;
Xnew[I1,Kell]:=-1;FX[Kell]:=0;
FOR I:=1 TO Kstr DO
IF I<>I1 THEN Xnew[I,Kell]:=0;
Информация о работе Оптимизация производственной программы заданной комплектности