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.
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