I'm not sure how it is done officially or in Fusion, but I'm experimenting with constraint solving (e.g. the simplex algorithm) and machine learning techniques and it shows a lot of promise I think. It would likely be something like that, or at least that would be good background to understand going forward.
With constraints you generate samples, test them, and then bend them towards solving the constraints better. It is a good starting point I think, and once you have the basic gen/eval loop going, even genetic algorithms could work here.
In ML you have a 'loss function', which scores the model based on data you feed it. Gradient descent will bend it towards better outcomes based on your evaluation. The evaluation can include things like how much material is used, how much stress, how hard to machine, cost, or anything you can code in really. Pytorch and simple primitives would be a good starting point here I think, as well as a beefy GPU ;).
The main thing is you want to generate data in a way that is differentiable (on a dial), so thickness, angle, position, weight etc are good, where as bolt vs glue is a bit harder. Then you need a way of evaluating. The hard part is finding a good way of encoding/adjusting it all at a higher level of abstraction than triangles or surfaces - that way when you get results you like you can understand and control them.
It is an area full of potential - a lot of techniques that will likely work are well known already, but are applied to things like images and language rather than design and manufacturing. I've recently come out from a few years in Google research, and it's amazing how much more advanced the CAD world is in many ways, and exactly vice versa in many others -- ML being one. That said, Autodesk seems to be closing that gap pretty quickly :).
Overall, it does seem to be an easier problem here, as the data is already mathematical and generated, and the meaning and evaluation of the data is *very* quantifiable (compared to say random sound waves or pixels). Full disclosure, I'm probably wrong about all of this, but it is the direction I'm currently working in :). Happy to try and point to things more specific if you have something more particular in mind.