Оптимизация производственной программы заданной комплектности

Автор работы: Пользователь скрыл имя, 01 Декабря 2010 в 17:20, Не определен

Описание работы


Введение
1. Экономическая постановка задачи
2. Математическая постановка задачи
3. Выбор метода реализации модели. Обоснование выбора
4. Схема алгоритма и его описание.
5. Краткая характеристика ЭВМ и ее программного обеспечения.
6. Обоснование выбора языка программирования.
7. Решение задачи-теста для написания и отладки программы.
8. Анализ полученных результатов.
9. Инструкции пользователю и описание программы.
Заключение.
Литература.
Приложение

Файлы: 1 файл

Документ Microsoft Office Word (3).docx

— 74.69 Кб (Скачать файл)

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

 В настоящее  время существуют более современные  операционные системы, с гораздо  большим набором возможностей. Это  WINDOWS’ 95, OS/2. Но так как эти  операционные системы диктуют  пользователю «свои условия», такие  как работать в окне, программы  должны иметь стандартные меню  и общий вид, многие программисты  делают свои программы по DOS, так  как она позволяет более гибко  использовать возможности компьютера.

Рекомендуемая конфигурация для  программы SIMPLEX METHOD:         

 Данной программе  требуется минимальная конфигурация:

Процессор 386 (рекомендуется 486 or high)

1М оперативной  памяти.

2М жесткого  диска.

VGA monitor

 

6. ОБОСНОВАНИЕ  ВЫБОРА ЯЗЫКА ПРОГРАММИРОВАНИЯ        

 Язык Borland Pascal 7.0 обладает свойствами использования  графики, строковых типов и  констант, любых видов переменных, имеет возможность использования  модулей (как уже существующих, так  и созданных пользователями). Язык Borland Pascal 7.0 - язык высокого уровня, на нем писать программы намного удобнее так, как языки высокого уровня имеют резервированные слова, которые замещают ряд кодовых символов на языках низкого уровня. Язык 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                                                         = 0                                                               

                         X3  -    4X4          = 0                                                           

 

Итак, система  ограничений задачи состоит из 5 уравнений и целевой функции:

Fmax = X1+X2+X3+X4        

 Приводим  систему к каноническому виду:

1.2X1     +  1.8X2   + 2.4X3              +X5                                    £ 768         

2.4X1     +                 1.2X3 + 2.4X4              +X6                                                  £ 600                       

              1.2X2   + 1.2X3  + 1.2X4                          +X7                                     £ 480              

X1    -      2X2                                                                                        +Y1                     = 0                          

                         X3  -    4X4                                                         +Y2      = 0                      

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

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, которая была написана мною  для олимпиады по программированию. Эта оболочка имеет интерфейс,  чем-то напоминающий WINDOWS.        

         

 К данной  курсовой работе прилагается  инсталляционная дискета с данной  оболочкой и программой SIMPLEX.        

 Она может  быть установлена в двух типах:

- Для преподавателя,  устанавливается с текстами программ.

- Для пользователей,  только запускаемые модули.

В любом случае вы запускаете ТОЛЬКО файл KoSer.EXE. У вас  запустится графическая оболочка.    

 В этой  оболочке будут следующие иконки:

- Simplex Method, это  сама программа для решения  уравнений.

- Просмотр результатов,  Чтобы просмотреть результат  после решения.

- Tetris, обычная  игра для развлечения.

- MsDos, Временный  выход в DOS

- Exit, выход из  оболочки KoSer.

В программе  «Simplex Method» есть кнопки «Добавить  строку», «Добавить столбец», «Удалить строку», «Удалить столбец», «Рассчитать», «Решить на MAX или MIN», «Решение ЦЕЛОЧИСЛЕННОЕ  или НЕ ЦЕЛОЧИСЛЕННОЕ».

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

Движение по числовым значениям уравнения осуществляется стрелками. Ввод чисел производится просто набором цифр на данной ячейки.

Смена знака  осуществляется клавишей «пробел».

Выход – крестик  в верхнем углу экрана или клавиша  «ESC».

 

ЗАКЛЮЧЕНИЕ

Данная курсовая работа включает в себя два предмета: «языки программирования» и «математические  методы в экономике».        

 В курсовой  работе были рассмотрены следующие  вопросы:

- Рассмотрен  и дан алгоритм симплекс метода.

- Дана краткая  характеристика ЭВМ, включая историю  появления и описание операционной  системы MSDOS.

- Рассмотрен  выбор языка программирования.

- Написана программа  для решения данной и многих  других задач.

- Даны инструкции  пользователю.

Данная программа  была протестирована на очень многих примерах и везде она выдавала правильные результаты.

Единственное  ограничение, количество столбцов не должно превышать 7 и строк не должно превышать 10.

Программа считает  с точностью 2 знака после запятой.

 

Список используемой литературы:

1. Лищенко «Линейное  и нелинейное программирование», 1987

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,CPr,CPrnew,FX:MAS;    

X,Xnew:MASX;   

BS,Bvsp,ZNAC:MASB;   

MIN,I1,I,J,Kx,Ky,Kit,NachKell,NachY,K_st:INTEGER;    

PriznacY,KLstr,KLst,ErrCode,Dop_X:INTEGER;    

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):STRING;  

VAR M,Z:STRING;

BEGIN 

STR(V,M); 

Z:=S+M; 

SIMVB:=Z;

END;                    

{ Процедура  записи данных в файл }

PROCEDURE SAVE(X1:REAL;K:STRING;Mstr:INTEGER);

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]:=SIMVB(DPy,'Y');       

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]:=SIMVB(DPx,'X');      

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;       

Информация о работе Оптимизация производственной программы заданной комплектности