Содержание

Введение

1. Постановка и анализ задачи

2. Решение задачи

3. Описание алгоритма

4. Описание программы

5. Контрольный пример

Вывод

Текст программы

Литература


1. Введение

Обычно при производстве изделий материал поступает в виде рулонов, полос, прямоугольных листов, стержней и т. д. Поступающий материал раскраивается на части заданных размеров и определенной конфигурации, представляющие собой в одних случаях заготовки, в других — готовые детали. К задачам раскроя, относятся и задачи плотного размещения совокупности предметов на заданных участках.

Задачи рационального раскроя описываются сходными математическими моделями. Существенное различие этих моделей определяется главным образом двумя факторами:

1) конфигурацией получаемых при раскрое заготовок;

2) объемом выпускаемой продукции.

Задачи раскроя, определяемые первым фактором, подразделяют на два класса. К первому классу относятся задачи фигурного раскроя, ко второму — задачи нефигурного раскроя. При фигурном раскрое материал раскраивается на заготовки самых различных конфигураций. К классу задач нефигурного раскроя относятся задачи линейного и прямоугольного раскроя. В первом случае материал раскраивают на заготовки различной длины, для которых задается только один линейный размер. Во втором случае получают заготовки прямоугольной формы, для которых задаются два размера.

Задачи раскроя, определяемые вторым фактором, также подразделяют на два класса: задачи раскроя в условиях массового (крупносерийного) выпуска изделий и задачи раскроя в условиях единичного (мелкосерийного) производства. К обоим классам могут принадлежать как задачи фигурного, так и задачи нефигурного раскроя. Задачи раскроя в условиях массового производства описываются непрерывными моделями линейного программирования, а в условиях единичного производства — целочисленными. В связи с этим задачи раскроя в указанных условиях часто называют соответственно непрерывными и целочисленными.

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


1. Постановка и анализ задачи

Решить задачу гильотинного раскроя материала (длинномерного проката) с максимальной прибылью: кусок материала длиной L раскраивается на заготовки m наименований, для каждой заготовки с номером i =  известны ее длина liи оценка сi. Требуется найти раскрой с максимальной оценкой получаемого набора заготовок.

Задача оптимального раскроя длинномерного проката носит различный характер в зависимости от типа производства. Например, для крупносерийного производства характерны следующие задачи: стремление получить значительное число заготовок одинаковой длины, минимизировать остаток, получить максимальную прибыль от раскроя и т.д. В данной курсовой работе будет рассмотрено решение задачи оптимального раскроя материала с максимальной прибылью методом динамического программирования с использованием так называемой "сеточным методом", при котором возникает необходимость генерирования раскроев на каждом шаге процесса.

2. Решение задачи

Предположим, что кусок материала длиной L раскраивается на заготовки m наименований. Для каждой заготовки с номером i =  известны ее длина liи оценка сi. Требуется найти раскрой с максимальной оценкой получаемого набора заготовок.

Раскрой может содержать любое число каждой из заготовок. Тогда набор заготовок характеризуется m-мерным вектором

X = (x1, x2, … , xm), (1)


Элементы которого представляют собой целые неотрицательные компоненты, указывающие на число заготовок каждого вида. При этом требуется максимизировать суммарную оценку

(2)

набора заготовок (1) при единственном линейном ограничении

.(3)

Генерирование раскроя будем рассматривать как многошаговый циклический процесс, состоящий из последовательного выбора отдельных заголовок.

Для решения поставленной задачи рассмотрим функцию

(4)

xÎXl

где через Xi обозначено множество неотрицательных векторов х, отвечающих раскроям, в которых общая длина заготовок не превосходит длины l. Пусть l0 = min li, где i =1…m.

Тогда при всех lÎ[0,l0] соответствующие множества Xl состоят из одного нулевого элемента и, следовательно, f(l) = 0 для всех таких l. Для lÎ[0,L0], справедливы следующие рекуррентные соотношения:

,(5)

iÎIl


где через Il обозначено множество тех i, при которых li£l.

Опираясь на рекуррентные соотношения (5), можно для решения задачи предложить простой численный метод, представляющий собой перебор всех допустимых раскроев. Реализация всего процесса основывается на двух этапах:

Первый этап

На первом этапе осуществляется так называемый прямой ход: по формулам (5) для всех l = последовательно вычисляются функции f(l) и при этом фиксируются индексы i(l), при которых достигается максимум в выражении (5). Получаемая при этом информация l, f(l) и i(l) запоминается и построчно записывается в таблицу:

l

l0

l0 + 1

l0 + 2

L
f(l)

f(l0)

f(l0 + 1)

f(l0 + 2)

f(L)
i(l)

i(l0)

i(l0 + 1)

i(l0 + 2)

i(L)
Второй этап

На втором этапе осуществляется так называемый обратный ход: для получения искомого вектора х (1), для которого выполняется равенство m(x) = f(L), в раскрой в первую очередь включаются заготовка с номером i(l1), где l1 = L, и подсчитывается значение l2= l1-li(l1).

Если l2³l0, то в раскрой включается заготовка с номером i(l2) и подсчитывается значение l3=l2-li(l2) и т.д. Так как при каждом k³1 очевидно, что lk+1£lk-l0, то через конечное число описанных шагов окажется, что lk+1< l0. На этом генерирование искомого раскроя заканчивается и выводится результат.


3. Описание алгоритма

1. Определяется текущее значение длины раскроя l от минимальной длины детали до длины материала.

2. Вычисляется максимальный индекс (номер) детали, добавление которой возможно.

3. Если нет деталей, которые можно добавить в раскрой, то проверяется не достигнут ли максимум цены раскроя для текущего значения длины раскроя l.

Если максимум достигнут, то он запоминается. Последняя добавленная деталь удаляется из раскроя и добавляется следующая (п. 4). Если нет деталей которые можно добавить в раскрой, происходит выход из цикла.

4. Запоминается текущий раскрой. Длина раскроя уменьшается на длину детали. Цена раскроя увеличивается на цену детали. Определяются детали, добавление которых в раскрой возможно (п. 2).

5. Берется начальная длина раскроя, равная длине материала. Берется деталь, на которой был достигнут максимум для данной длины материала. Из длины материала вычитается длина детали, к стоимости раскроя прибавляется цена детали. П.5 повторяется, пока есть детали, добавление которых к раскрою не превысит длины материала.


Информация о работе «Оптимальный раскрой материала с максимальной прибылью»
Раздел: Информатика, программирование
Количество знаков с пробелами: 23104
Количество таблиц: 4
Количество изображений: 3

Похожие работы

Скачать
174026
0
4

... в отчете о прибылях и убытках или примечаниях сумму дивидендов на акцию, объявленных или предложенных за период, охваченный финансовой отчетностью. 2.2 Содержание основных показателей отчета о прибылях и убытках в ТОО «Охранное Агентство Беркут СБ» В отчете о доходах и расходах ТОО «Охранное Агентство Беркут СБ» заполняются следующие показатели: 1. Доход от реализации готовой продукции, ...

Скачать
163721
8
8

... 433 - - ВСЕГО прибыль до налогообложения 86921 246564 256564 Речь, следовательно, идет о малом производственном предприятии. То есть, ООО «Мебельный стиль» является малым предприятием ввиду его малой численности (12 человек).   3.2 Порядок налогообложения при разных налоговых режимах Для анализа разных систем налогообложения произведем расчет на основе данных за 2008 год в ООО « ...

Скачать
468961
25
171

... М. В. Неоклассическая модель чистой монополии. М.: ИМЭМО, АН СССР, 1990. 3. Лейбенстайн X. Аллокативная эффективность в сравнении с "Х-эффективностью" // Теория фирмы. С. 477—506. 4. Маленво Э. Лекции... Гл. III. § 9. С. 80—85. 5. Робинсон Дж. Экономическая теория... Гл. 3—5. С. 88—130. 6. Стиглер Дж. Совершенная конкуренция: исторический ра­курс // Теория фирмы. С. 299—328. 7. Самуэльсон П. ...

Скачать
399946
0
3

... : Ссылки следует обозначать порядковым номером по списку используемой литературы, например: " : в трудах:" [ 1, c.56]. ( 1 - это номер источника по списку литературы, 56 - номер страницы в источнике). В работах по политэкономии обычно используется большое количество иллюстраций (графиков, рисунков, диаграмм). Наличие иллюстраций помогает читателю лучше воспринять материал. Известно, что мозг ...

0 комментариев


Наверх