title: Permutation Optimization
body: <p>I have a problem which requires me to find an optimal permutation. There are many elements, usually between 20-50 but sometimes less, sometimes more, and I must pick 10. I run simulations with the picked elements to arrive at a number between 0 and 1. The more Sims the more precision.</p>
  
  <p>I need to find a method that is quick and sufficiently thorough. I know from experience the earlier on an element is picked the more impact it has on the result. Some elements have light synergy so it isn't sufficient to give a weight to the elements ahead of time.</p>
  
  <p>Current Method:</p>
  
  <p>I manually select the elements that I believe are closest to a solution and hill climb by swapping 1 value at a time between Sims. This succeeds in finding a local maximum but I would like to improve the odds of winding up in the absolute maximum.</p>
  
  <p>Option 1:</p>
  
  <p>I have considered generating a certain number of permutations that satisfy that they are all a certain degree of difference from one another and climbing each. The hope would be that if I was in a local maximum that one of the others could land within a different maximum group.</p>
  
  <p>Option 2:</p>
  
  <p>I have also considered simming a certain number of permutations and then giving each element a value. The sooner it appears in the list, the more it is weighted, and then scale the weight by the performance and combine all the values of that element. Then I have a dynamic rough estimation of performance per element.</p>
  
  <p>Does this s problem resemble a known algorithm or can this problem be converted into another type of problem? Is there a custom solution that I can use?</p>
  
  <p>Thanks in advance for the help.</p>