МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ ТАДЖИКИСТАН
ТАДЖИКСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
имени академика М.С. Осими
Кафедра: «АСОИ и У»
ОТЧЕТ
по лабораторной работе
на тему:
«Разработка подсистемы управления оптимального плана выпуска изделий»
Душанбе – 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
Внешний вид программы и результат
Заключение
В современном мире с бурноразвивающийся рыночной экономикой, трудно представить, в той или иной отрасли производства, работу структуры без составления бизнес-планов и планов экономического развития предприятия. В часть этих планов входит и составление плана оптимального выпуска продукции.
В этой лабораторной работе я показал автоматизацию трудоёмкого вычисления оптимального плана частного предприятия по изготовлению трех видов мебели. Любое предприятие в период своего становления, должно учитывать результаты, полученные в ходе подсчета оптимального плана, которые помогут решить часть экономических проблем в будущем и разработать план перспективы на будущее.