Скачиваний:
94
Добавлен:
15.06.2014
Размер:
685.26 Кб
Скачать

Лабораторная работа №4

Вариант 1

Выполнили:

ст. гр.

Задание:

Предприятие имеет 20 станков типа Ст1 и 30 станков типа Ст2. На каждом из них можно выпускать детали трёх видов. Производительность станков (деталей в день) приведена в таблице 1.

Таблица 1

Станок

Деталь

Д1

Д2

Д3

Ст1

20

35

15

Ст2

15

30

45

Каждый станок настраивается на выпуск детали только какого-либо одного вида. В течение каждого рабочего дня предприятие должно выпускать не менее 150 деталей Д1 и не менее 100 деталей Д2. Прибыль от продажи одной детали Д1 составляет 6 ден. ед., от продажи детали Д2 – 4 ден. ед., от продажи Д3 – 8 ден. ед.

Требуется составить план использования станков, обеспечивающий получение максимальной прибыли от выпуска деталей.

Код (VBA MS Excel):

Sub lab()

itog = 0: minprib = 0: d1itog = 0: d2itog = 0: d3itog = 0: nst1d1itog = 0: nst1d2itog = 0: nst1d2itog = 0: nst1d3itog = 0: nst2d1itog = 0: nst2d2itog = 0: nst2d3itog = 0

n = 5000000

For k = 1 To n

d1 = 0: d2 = 0: d3 = 0

nst1d1 = 0: nst1d2 = 0: nst1d3 = 0: nst2d1 = 0: nst2d2 = 0: nst2d3 = 0

For i = 1 To 20

r = Rnd

If r < 0.33 Then d1 = d1 + 20: nst1d1 = nst1d1 + 1

If (r >= 0.33) And (r < 0.67) Then d2 = d2 + 35: nst1d2 = nst1d2 + 1

If r >= 0.67 Then d3 = d3 + 20: nst1d3 = nst1d3 + 1

Next i

For j = 1 To 30

r = Rnd

If r < 0.33 Then d1 = d1 + 15: nst2d1 = nst2d1 + 1

If (r >= 0.33) And (r < 0.67) Then d2 = d2 + 30: nst2d2 = nst2d2 + 1

If r >= 0.67 Then d3 = d3 + 45: nst2d3 = nst2d3 + 1

Next j

If (d1 >= 150) And (d2 >= 100) Then minprib = d1 * 6 + d2 * 4 + d3 * 8

If minprib > itog Then

d1itog = d1: d2itog = d2: d3itog = d3

itog = minprib: minprib = 0

nst1d1itog = nst1d1: nst1d2itog = nst1d2: nst1d3itog = nst1d3: nst2d1itog = nst2d1: nst2d2itog = nst2d2: nst2d3itog = nst2d3

End If

Next k

MsgBox ("Ст1 для деталей Д1: " + Str(nst1d1) + ", для Д2: " + Str(nst1d2) + ", для Д3: " + Str(nst1d3))

MsgBox ("Ст2 для деталей Д2: " + Str(nst2d1) + ", для Д2: " + Str(nst2d2) + ", для Д3: " + Str(nst2d3))

MsgBox ("Прибыль предприятия: " + Str(itog))

End Sub

Пример результата:

Соседние файлы в папке laby