Задача о раскрое, где нужно минимизировать количество используемых стальных прутьев, разрезая их на заготовки различной длины

Предмет: Математика (Исследование операций)
Раздел: Задача о раскрое (линейное программирование)

Задача относится к задаче о раскрое, где нужно минимизировать количество используемых стальных прутьев (жестких материалов), разрезая их на заготовки различной длины.

Для решения задачи нужно построить математическую модель.
Информация:
  1. Длина заготовок:
    • Тип 1: 52
    • Тип 2: 60
    • Тип 3: 35
  2. Количество необходимых заготовок:
    • Тип 1: 50
    • Тип 2: 20
    • Тип 3: 10
  3. Длина прутьев: 150
  4. Способы разреза одного прута:
    • Способ 1: 2 заготовки длиной 52 и ничего больше. (2x52 = 104)
    • Способ 2: 1 заготовка длиной 52, 1 заготовка длиной 35 и одна заготовка длиной 35. (52+35+35 = 122)
    • Способ 3: 1 заготовка длиной 52 и 2 заготовки длиной 35. (52+2x35 = 122)
    • Способ 4: 2 заготовки длиной 60 и ничего больше. (2x60 = 120)
    • Способ 5: 1 заготовка длиной 60, 2 заготовки длиной 35. (60+2x35 = 130)
    • Способ 6: 4 заготовки длиной 35. (4x35 = 140)

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

Построение математической модели.
  1. Определим переменные:

    Пусть:

    • X_1 — количество прутьев, разрезаемых по способу 1.
    • X_2 — количество прутьев, разрезаемых по способу 2.
    • X_3 — количество прутьев, разрезаемых по способу 3.
    • X_4 — количество прутьев, разрезаемых по способу 4.
    • X_5 — количество прутьев, разрезаемых по способу 5.
    • X_6 — количество прутьев, разрезаемых по способу 6.
  2. Ограничения:

    Для того, чтобы выполнить требуемое количество заготовок:

    • Для заготовок типа 1 (длина 52): 2X_1 + X_2 + X_3 \geq 50.
    • Для заготовок типа 2 (длина 60): 2X_4 + X_5 \geq 20.
    • Для заготовок типа 3 (длина 35): 2X_2 + 2X_3 + 2X_5 + 4X_6 \geq 10.
  3. Целевая функция:

    Необходимо минимизировать количество прутьев, которые будут разрезаны. То есть целевая функция будет:

    Z = X_1 + X_2 + X_3 + X_4 + X_5 + X_6 \rightarrow \min.

Решение задачи:

Для нахождения решения можно воспользоваться методами решения задач линейного программирования, такими как симплекс-метод или использовать специализированное программное обеспечение или пакеты в Python, такие как SciPy или PuLP. Вручную решение очень ресурсозатратное, поэтому компьютерные методы будут намного удобнее и точнее для задачи такого масштаба.

Не нашли нужного вам решения? Оставьте заявку и наши авторы быстро и качественно помогут вам с решением.
Оставить заявку
Работа вам нужна срочно. Не волнуйтесь, уложимся!

Заполните, пожалуйста, данные для автора:

  • 22423 авторов готовы помочь тебе.
  • 2402 онлайн