Курсовая работа: Решение экономических задач с помощью VBA
Сама таблица выглядит следующим образом:
Ф и л и а л ы | ||||||||||
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 |
2 | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 0 | 2 | 0 |
3 | 1 | 2 | 2 | 1 | 2 | 1 | 2 | 1 | 3 | 0 |
4 | 1 | 3 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 |
5 | 3 | 2 | 2 | 3 | 3 | 2 | 4 | 1 | 4 | 1 |
6 | 3 | 3 | 3 | 3 | 3 | 3 | 5 | 1 | 4 | 2 |
7 | 5 | 2 | 2 | 5 | 3 | 4 | 6 | 1 | 5 | 2 |
Млн. грв. | 1 | 2 | 1,2 | 3 | 1,2,3 | 4 | 1,2,3 и 4 | 5 | 1,2,3,4 и 5 | 6 |
2.3.6 Задание на нахождение оптимального раскроя
Составляем таблицу в которой будут приведены остатки от раскроя на заказ при различных вариантах раскроя.
Например по условию в соответствии с вариантом стандартная длина раскроя равна 28 метров,
т.е. первый вариант раскроя будет сосотавлять 0 рулон дляной 4 м, 0 рулонов длиной 6м и 4 рулона длиной 9 м, рулонов длиной 11 м. не будет, что в сумме даст 27, следовательно отходы будут составлять 1 метр. Второй вариант когда 1 рулон по 6 м и два по 11 м, в этом случае остатков не будет и т.д. Всего получается 19 вариантов раскроя.
В программе это будет выглядеть таким образом:
l = 28
a1 = 4: a2 = 6
a3 = 9: a4 = 11
r = 4
m = Application.Min(a1, a2, a3, a4)
t = Application.Floor(l / m, 1)
For i1 = 0 To t
For i2 = 0 To t
For i3 = 0 To t
For i4 = 0 To t
s = 28 - a1 * i1 - a2 * i2 - a3 * i3 - a4 * i4
If s >= 0 And s < m Then
Cells(r, 1).Value = r - 3
Cells(r, 2).Value = i1
Cells(r, 3).Value = i2
Cells(r, 4).Value = i3
Cells(r, 5).Value = i4
Cells(r, 6).Value = s
r = r + 1
End If
Next i4
Next i3
Next i2