Разработка подсистемы управления оптимального плана выпуска изделий
Разработка подсистемы управления оптимального плана выпуска изделий
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ ТАДЖИКИСТАН ТАДЖИКСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ имени академика М.С. Осими Кафедра: «АСОИ и У» ОТЧЕТ по лабораторной работе на тему: «Разработка подсистемы управления оптимального плана выпуска изделий» Душанбе - 2009 г. Цель работы: 1) Определение оптимального плана выпуска продукции на конкретном объекте управления с применением метода линейного программирования (симплекс-метод); 2) Построение схемы движения информации в подсистеме оптимального плана выпуска продукции. Подстановка задачи: Для производства N_видов продукции используется М-видов ресурсов. Стоимость единицы равна: Cj (j=1 - n). Ресурсы на складах предприятия не более bi (i=1_m) единиц. Расход ресурсов для каждого вида продукции равно aij (i=1_m; j=1n). Требуется определить оптимальный план выпуска продукции, от продажи которой предприятие получило максимальный доход. Для решения данной лабораторной работы было выбрано частное предприятие по изготовлению мебели. Предприятие изготавливает в основном изделия трех видов: 1. столы 2. стулья 3. табуретки Известно, что для изготовления изделия требуются два вида ресурсов: Доски и шурупы. Также известно, какая прибыль может быть получена при реализации каждого изделия. Необходимо так распределить ресурсы, чтобы предприятие имело максимальную прибыль. Для изготовления продукции требуется следующее: 1. Табуретка: Досок - 5 м. Стоимость 1 м. - 8 сом. Шурупов - 20 шт. Стоимость 1 ш. - 2 дир. Себестоимость продукции - 44 сом. Розничная цена - 55 сом. 2. Стул: Досок - 8 м. Стоимость 1 м. - 8 сом. Шурупов - 30 шт. Стоимость 1 ш. - 2 дир. Себестоимость продукции - 70 сом. Розничная цена - 80 сом. 3. Стол: Досок - 15 м. Стоимость 1 м. - 8 сом. Шурупов - 40 шт. Стоимость 1 ш. - 2 дир. Себестоимость продукции - 100 сом. Розничная цена - 120 сом. Исходные данные для расчета сведены в таблице 1. Обозначим: Х1 - табуретка; Х2 - стул; Х3 - стол; Х4 - доски; Х5 - шурупы; Вi - кол-во товаров на складе; F(x) - прибыль от 1_й единицы изделия. |
| Вi | Х1 | Х2 | Х3 | | Доски | 300 | 5 | 8 | 15 | | Шурупы | 700 | 20 | 30 | 40 | | F(x) | | 55 | 80 | 120 | | |
Зная ресурсы предприятия и количество единиц, затрачиваемые на изготовления каждого изделия, можно записать следующую систему неравенств: F(x) = 55х1 + 80х2 + 120х3 5х1 + 8х2 + 15х3 < 300 20x1 + 30x2 + 40x3 < 700 Данная задача относится к задачам линейного программирования, значит, ее можно решить с помощью симплекс - метода. Решение: Табл. 1 |
| Вi | Х1 | Х2 | Х3 | bi/air | | Х4 | 300 | 5 | 8 | 15 | 20 | | Х5 | 700 | 20 | 30 | 40 | 17,5 | | F(x) | | 55 | 80 | 120 | | | |
Табл. 2 |
| Вi | Х1 | Х2 | Х5 | bi/air | | Х4 | 37,5 | -2,5 | -3,25 | -0,375 | | | Х3 | 17,5 | 0,5 | 0,75 | 0,025 | | | F(x) | -2100 | -5 | -10 | -3 | | | |
Ответ: Max F(x) = 2100 X1opt = 0 X2opt = 0 X3opt = 17,5 Схема движения информации Листинг программы: Private Sub CommandButton1_Click() Dim a (1 To 3, 1 To 4) As Single Dim x (1 To 3) As Single On Error Resume Next a (1, 1) = Text1. Text a (1, 2) = Text2. Text a (1, 3) = Text3. Text a (1, 4) = Text4. Text a (2, 1) = Text5. Text a (2, 2) = Text6. Text a (2, 3) = Text7. Text a (2, 4) = Text8. Text a (3, 1) = Text9. Text a (3, 2) = Text10. Text a (3, 3) = Text11. Text a (3, 4) = Text12. Text If Text1. Text = «» And Text2. Text = «» And Text3. Text = «» And Text4. Text = «» Then MsgBox «Введите значения» GoTo x4 End If Do Until a (3, 1) < 0 And a (3, 2) < 0 And a (3, 3) < 0 And a (3, 4) < 0 c = 0 For j = 1 To 4 i = 3 b = a (i, j) If b >= c Then c = b j1 = j Else GoTo x1 End If x1: If c <= 0 And j = 4 Then MsgBox «Процесс решения окончен. Для просмотра результатов нажмите ОК.» GoTo x2 End If Next j If a (1, j1) < 0 And a (2, j1) < 0 Then MsgBox «Оптимального решения не существует» GoTo x3 End If dmin = 100000 For i = 1 To 2 d1 = a (i, 1) / a (i, j1) If dmin > d1 Then dmin = d1 i1 = i End If Next i ra = a (i1, j1) For i = 1 To 3 For j = 1 To 4 If i <> i1 And j <> j1 Then a (i, j) = ((a (i, j) * ra) - (a (i, j1) * (a (i1, j)))) / ra End If Next j Next i For i = 1 To 3 For j = 1 To 4 If i = i1 And j = j1 Then a (i, j) = 1 / ra End If If i = i1 And j <> j1 Then a (i, j) = a (i, j) / ra End If If j = j1 And i <> i1 Then a (i, j) = a (i, j) / (-ra) End If Next j Next i x2: x (j1 - 1) = a (i1, 1) ListBox1. AddItem («x» & (j1 - 1) &» = " & x (j1 - 1)) fmax = (a (3, 1)) Loop x3: ListBox1. AddItem («F(x) max» &» = " & - (fmax)) Text1. Text = a (1, 1) Text2. Text = a (1, 2) Text3. Text = a (1, 3) Text4. Text = a (1, 4) Text5. Text = a (2, 1) Text6. Text = a (2, 2) Text7. Text = a (2, 3) Text8. Text = a (2, 4) Text9. Text = a (3, 1) Text10. Text = a (3, 2) Text11. Text = a (3, 3) Text12. Text = a (3, 4) x4: End Sub Private Sub CommandButton2_Click() Text1. Text = «» Text2. Text = «» Text3. Text = «» Text4. Text = «» Text5. Text = «» Text6. Text = «» Text7. Text = «» Text8. Text = «» Text9. Text = «» Text10. Text = «» Text11. Text = «» Text12. Text = «» ListBox1. Clear End Sub Внешний вид программы и результат
Заключение В современном мире с бурноразвивающийся рыночной экономикой, трудно представить, в той или иной отрасли производства, работу структуры без составления бизнес-планов и планов экономического развития предприятия. В часть этих планов входит и составление плана оптимального выпуска продукции. В этой лабораторной работе я показал автоматизацию трудоёмкого вычисления оптимального плана частного предприятия по изготовлению трех видов мебели. Любое предприятие в период своего становления, должно учитывать результаты, полученные в ходе подсчета оптимального плана, которые помогут решить часть экономических проблем в будущем и разработать план перспективы на будущее.
|