## Optimization of inputs to produce an optimized ouput

on 12 Dec 2012

### Walter Roberson (view profile)

The user inputs 10 length values (1-10) and inputs another value length A which is a total length. Values 1-10 can range from 0 to infinity which are the quantities of lengths and input A is the maximum length which is larger then the largest length from value 1-10.

The optimization comes in where I need to figure how many values of A are need to cover all the lengths but keeping the scrap value of A to a minimum. Example A=25 and value 2= 3(qty) and value 5 = 3(qty) the sum of values 2 and 5 = 21 so the left over of A is 4.

I could have time were only two inputs of values 1-10 being used up to having all ten values being used.

I can't add the left overs of A together to eliminate more values. I need to output the combinations of values 1-10, the number of Value A and the total left overs of A added together. The combinations of values 1-10 can be placed into an array and the number of rows will tell me how many Values of A will be needed.

I've started to use a while loop with a counter to keep track of the numbers of A's required but I'm not sure how to write the proper code to make the proper optimization of the values into A keep A and the left over a minimum.

Any help would be greatly appreciated and if any clarification is need just ask.

Thank you very much.

Walter Roberson

### Walter Roberson (view profile)

on 12 Dec 2012

This is a "knapsack with repeated elements" problem. It is known to be non-polynomial to solve.

Peter

### Peter (view profile)

on 12 Dec 2012

Is there any prebuilt functions in Matlab that deal with something like this?

### Walter Roberson (view profile)

on 12 Dec 2012

A small number of people have asked about the same kind of problem in the past. I am not sure how they solved it. I think some of them used a PSO (particle swarm) approach.

There is a MATLAB routine in the optimization toolbox that could in theory be used. See Binary Integer Programming

To get an idea of how to implement this using bintprog(), see http://www.mathworks.com/help/optim/ug/binary-integer-programming-example.html

Peter

### Peter (view profile)

on 12 Dec 2012

That gets me started in the right direction, thank you

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi