Splinterz, Dwarf Therapist seems to have trouble finding squads at the moment.
Thistle, how hard do you think it would be to modify the optimization plan engine so that it allows you to optimize a certain number of dwarves out of a set? For instance, I select thirty dwarves, make an optimization plan that finds the ten best marksmen of any large-enough selection, and then run that script.
Ratio-based selection is useful when you want to quickbuild an industry out of a certain group of dwarves, but is limited in that you can't smartly control how many dwarves you get. You use a predefined group and then distribute jobs within this group; it's easy to select a group of the best candidates for one job, with sorting by role rating, but it's difficult to select a group of the best candidates for a bunch of them. You can do this by defining a custom role that has all of the properties of all of the labors you want to assign, but you have to A, write this role, and B, implemented in a view somewhere.
A numerical optimizer would solve this problem by doing it for you automatically. How I envision it working:
- The optimizer takes all of the roles used in the optimization plan, and mashes them together into a temporary custom role.
- It sorts the selected dwarves by their fitness in this role, and then selects the top X dwarves out of this selection, where X is the number of dwarves to undergo optimization, as defined by the user in the plan.
- It does the standard optimization crunch on these dwarves.
What do you think?