Hakkı Doğusan
Personal website
optest 1Dcutting stock problem solver

Description: From a fixed(raw) length, infinite quantity of resource,
cut different length and quantity pairs of material optimally
(minimizing the resource usage).

optest's role: Generate cutting layout for profiles.
Optionally generate lp file to use with lp_solve.

Uses lp_solve: Mixed Integer Linear Programming (MILP) solver

Uses Inih for problem file reading

Uses Peter Notebaert's pattern generating algorithm

Uses 'demand merging' method to simplify pattern generation.
A limit (default:100000) triggers merging.

Used some time limits (configurable) for solver.

lp problem definition changed to prevent generating excessive
profile quantities. Ie. in theory, contraints formulated by GE;
I've changed them to EQ instead, and added slack variables.
It seems to work :) Just to be sure a second pass checks
for demand vs generated quantities. Reruns if necessary.

There are some examples (most of them are real problems)
You may find some of them interesting:

test00: all of the configuration parameters commented here

test61:  demand merge in action

test08,12,29:  demand merge

test34,44 : Tshape profile cutting optimization, ie. \//\

test25,33 : solver stopped due to timeouts by app
 License:
LGPL
 Download:
optest1.1.zip (2543 KiB)
Includes source, examples and binaries
 Changes:
 20160425: v1.1
Refactorings. New examples.
 20160410: v1.0
Initial release