2015-02-15 2 views
1

У меня трудное время понять, как сформулировать код для проблемы с режущим инструментом. Я много искал в Интернете, и я вижу много теории, но нет реальных примеров.Оптимизация режущего фонда/сбрасывание отходов с использованием lpsolve/lpsolveapi

Большинство результатов запроса указывают на страницу Википедии: http://en.wikipedia.org/wiki/Cutting_stock_problem

13 моделей, которые будут получены при требуемые суммы, указанные рядом. Машина производит по умолчанию кусок ширины 5600, который разрезается на ширину ниже. Цель состоит в минимизации отходов.

Widths/Required amount 
1380 22 
1520 25 
1560 12 
1710 14 
1820 18 
1880 18 
1930 20 
2000 10 
2050 12 
2100 14 
2140 16 
2150 18 
2200 20 

ли кто-то показать мне, как сформулировать это решение в R с lpsolve/lpsolve API?

stock=5600 
    widths=c(1380,1520,1560,1710,1820,1880,1930,2000,2050,2100,2140,2150,2200) 
    required=c(22,25,12,14,18,18,20,10,12,14,16,18,20) 

library(lpSolveAPI) 




... 
solve(lprec) 
get.variables(lprec) 
+0

Можете ли вы предоставить подробную информацию о том, как вы это сделали? Код для генерации шаблонов и т. Д.? – user1420372

ответ

1

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

Посмотрите на этот C++ проект: https://code.google.com/p/cspsol

cspsol основан на GLPK библиотеки API, использует генерацию столбцов и филиал & связанный решить MIP. Это может дать вам несколько советов о том, как это сделать в R. Удачи!

Смежные вопросы