optimise_loadpath

compas_ags.ags.optimise_loadpath(form, force, algo='COBYLA')

Optimise the loadpath using the parameters of the force domain. The parameters of the force domain are the coordinates of the vertices of the force diagram.

Parameters:
formFormDiagram

The form diagram.

forceForceDiagram

The force diagram.

algo{‘COBYLA’, L-BFGS-B’, ‘SLSQ’, ‘MMA’, ‘GMMA’}, optional

The optimisation algorithm.

Returns:
form: FormDiagram

The optimised form diagram.

force: ForceDiagram

The optimised force diagram.

Notes

In many cases, the number of paramters of the force domain involved in generating new solutions in the form domain is smaller than when using the elements of the form diagram directly.

For example, the loadpath of a bridge with a compression arch can be optimised using only the x-coordinates of the vertices of the force diagram corresponding to internal spaces formed by the segments of the arch, the corresponding deck elements, and the hangers connecting them. Any solution generated by these parameters will be in equilibrium and automatically have a horizontal bridge deck.

Although the BRG algorithm is the preferred choice, since it is (should be) tailored to the problem of optimising loadpaths using the domain of the force diagram, it does not have a stable and/or efficient implementation. The main problem is the generation of the form diagram, based on a given force diagram. For example, when edge forces flip from tension to compression, and vice versa, parallelisation is no longer effective.