.. Auto-generated by scripts/generate_problem_catalog_docs.py. Do not edit by hand. Planar truss span structural optimization (factor-of-safety maximization) ========================================================================= A fixed-joint binary optimization problem that selects candidate planar-truss members to maximize factor of safety subject to mass and deflection thresholds. See :doc:`../optimization` for the optimization family index. Quick Facts ----------- .. list-table:: :header-rows: 1 :widths: 20 80 * - Field - Value * - Problem ID - ``planar_truss_span_fos_max`` * - Problem Family - optimization * - Implementation - ``design_research_problems.problems.optimization._truss_topology:PlanarTrussEngineeringOptimizationProblem`` * - Capabilities - ``baseline-solver``, ``bounded-variables``, ``external-adapter``, ``optional-evaluator``, ``statement-markdown`` * - Study Suitability - none * - Tags - ``optimization``, ``truss``, ``structural``, ``binary``, ``factor-of-safety`` Taxonomy -------- Formulation binary_optimization Convexity nonconvex Design Variable Type discrete Is Dynamic no Orientation engineering_practical Feasibility Ratio Hint 0.05 Objective Mode single Constraint Nature hard Bounds Summary one binary variable per candidate member over a fixed planar truss joint set Tags ``optimization``, ``truss``, ``structural``, ``binary``, ``factor-of-safety`` Statement --------- Choose a planar truss topology over a fixed support span and a fixed set of candidate joints. Each binary design variable decides whether one candidate member is present. The optimizer builds a concrete ``PlanarTrussState``, runs the real ``trussme`` structural analysis, and maximizes factor of safety. Feasible candidates must satisfy maximum mass and maximum deflection thresholds. The built-in baseline uses deterministic binary enumeration with cheap graph and crossing prechecks plus hard structural thresholds. Problem Shape ------------- .. list-table:: :header-rows: 1 :widths: 30 70 * - Field - Value * - Design Variable Count - 15 * - Bound Summary - one binary variable per candidate member over a fixed planar truss joint set * - Total Constraint Count - 5 * - Equality Constraint Count - 0 * - Inequality Constraint Count - 5 Variable Bounds --------------- .. list-table:: :header-rows: 1 :widths: 25 37 38 * - Variable - Lower Bound - Upper Bound * - ``x[0]`` - 0 - 1 * - ``x[1]`` - 0 - 1 * - ``x[2]`` - 0 - 1 * - ``x[3]`` - 0 - 1 * - ``x[4]`` - 0 - 1 * - ``x[5]`` - 0 - 1 * - ``x[6]`` - 0 - 1 * - ``x[7]`` - 0 - 1 * - ``x[8]`` - 0 - 1 * - ``x[9]`` - 0 - 1 * - ``x[10]`` - 0 - 1 * - ``x[11]`` - 0 - 1 * - ``x[12]`` - 0 - 1 * - ``x[13]`` - 0 - 1 * - ``x[14]`` - 0 - 1 Manifest Parameters ------------------- .. list-table:: :header-rows: 1 :widths: 25 75 * - Key - Value * - candidate_point_fractions - [[0.25, 0.5], [0.5, 0.5], [0.75, 0.5]] * - load_magnitude - 1000 * - max_height - 5 * - maximum_deflection - 0.2 * - maximum_mass - 20 * - objective_metric - fos-max * - span - 10 Library Interface ----------------- - ``generate_initial_solution(seed=None)`` - ``objective(x)`` - ``evaluate(x)`` - ``solve(initial_solution=None, seed=None, maxiter=200)``