.. Auto-generated by scripts/generate_problem_catalog_docs.py. Do not edit by hand. Space truss span structural optimization (mass minimization) ============================================================ A fixed-joint binary optimization problem that selects candidate 3D truss members to minimize mass subject to factor-of-safety 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 - ``space_truss_span_mass_min`` * - Problem Family - optimization * - Implementation - ``design_research_problems.problems.optimization._truss_topology:SpaceTrussEngineeringOptimizationProblem`` * - Capabilities - ``baseline-solver``, ``bounded-variables``, ``external-adapter``, ``optional-evaluator``, ``statement-markdown`` * - Study Suitability - none * - Tags - ``optimization``, ``truss``, ``3d``, ``structural``, ``mass`` Taxonomy -------- Formulation binary_optimization Convexity nonconvex Design Variable Type discrete Is Dynamic no Orientation engineering_practical Feasibility Ratio Hint 0.02 Objective Mode single Constraint Nature hard Bounds Summary one binary variable per candidate member over a fixed 3D space-truss joint set Tags ``optimization``, ``truss``, ``3d``, ``structural``, ``mass`` Statement --------- Choose a 3D space-truss topology over a fixed bridge-like scaffold. Each binary design variable decides whether one candidate member is present. The optimizer builds a concrete ``SpaceTrussState``, runs the real ``trussme`` structural analysis, and minimizes structural mass. Feasible candidates must satisfy a minimum factor of safety and a maximum deflection threshold. The built-in baseline uses deterministic binary enumeration with cheap graph prechecks plus hard structural thresholds. Problem Shape ------------- .. list-table:: :header-rows: 1 :widths: 30 70 * - Field - Value * - Design Variable Count - 36 * - Bound Summary - one binary variable per candidate member over a fixed 3D space-truss joint set * - Total Constraint Count - 4 * - Equality Constraint Count - 0 * - Inequality Constraint Count - 4 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 * - ``x[15]`` - 0 - 1 * - ``x[16]`` - 0 - 1 * - ``x[17]`` - 0 - 1 * - ``x[18]`` - 0 - 1 * - ``x[19]`` - 0 - 1 * - ``x[20]`` - 0 - 1 * - ``x[21]`` - 0 - 1 * - ``x[22]`` - 0 - 1 * - ``x[23]`` - 0 - 1 * - ``x[24]`` - 0 - 1 * - ``x[25]`` - 0 - 1 * - ``x[26]`` - 0 - 1 * - ``x[27]`` - 0 - 1 * - ``x[28]`` - 0 - 1 * - ``x[29]`` - 0 - 1 * - ``x[30]`` - 0 - 1 * - ``x[31]`` - 0 - 1 * - ``x[32]`` - 0 - 1 * - ``x[33]`` - 0 - 1 * - ``x[34]`` - 0 - 1 * - ``x[35]`` - 0 - 1 Manifest Parameters ------------------- .. list-table:: :header-rows: 1 :widths: 25 75 * - Key - Value * - candidate_point_fractions_3d - [[0.25, -1.0, 0.5], [0.25, 1.0, 0.5], [0.75, -1.0, 0.5], [0.75, 1.0, 0.5]] * - load_magnitude - 1000 * - max_height - 5 * - maximum_deflection - 0.2 * - minimum_fos - 1 * - objective_metric - mass-min * - span - 10 * - width - 4 Library Interface ----------------- - ``generate_initial_solution(seed=None)`` - ``objective(x)`` - ``evaluate(x)`` - ``solve(initial_solution=None, seed=None, maxiter=200)``