No - it doesn't do that. Levelling and optimizing are different things and
optimizing requires a level of intelligence software can't possess, at least
until AI is a lot better developed. The biggest problem is that "best fit"
can mean many different things under different circumstances. Project is an
excellent aid to the Project Manager but it doesn't attempt to replace his
or her expertise or judgement. Usually the work on the project has to fit
into a business context and set of priorities that software won't know
anything about and has no way of modeling - what are the project's
priorities viz a viz the other activities of the firm, what skills does the
resource have, what other demands are there on his energy, etc. For
example, only you could know if Joe is initially assigned 50% on a task a
certain day because that's all you originally thought you needed him or is
he only assigned 50% because on that day because his manager has committed
him 4 hours of the day on something that has a higher organizational
priority than your project? Project would have no way of knowing such
details yet that difference is crucial to the decision whether you can
increase his assignment that day or not. Even simple levelling to resolve
overallocations isn't cut and dried. Bill is overallocated next week, being
booked 100% each on two conflicting 5-day tasks. That can't be ignored so
what's the best way to resolve it? Slip one of the tasks, delaying it for a
week (Project's only built-in levelling method)? Reduce the commitment on
both tasks to 50% and make them each 10 days duration? Find someone else
with the skills to work on one of the tasks and substitute them for Bill?
Again, the software, any software, can't/won't be able to make that
decision.