.. Auto-generated by scripts/generate_problem_catalog_docs.py. Do not edit by hand. Planar roof truss grammar (seven-point asymmetric variant) ========================================================== A roof-truss grammar aligned to the seven-point asymmetric loading formulation reported in the structural essay study. See :doc:`../grammar` for the grammar family index. Quick Facts ----------- .. list-table:: :header-rows: 1 :widths: 20 80 * - Field - Value * - Problem ID - ``planar_roof_truss_seven_point_asymmetric`` * - Problem Family - grammar * - Implementation - ``design_research_problems.problems.grammar._planar_truss:PlanarTrussSpanProblem`` * - Capabilities - ``discrete-actions``, ``external-adapter``, ``optional-evaluator``, ``serializable-state``, ``statement-markdown`` * - Study Suitability - none * - Tags - ``grammar``, ``truss``, ``roof``, ``discrete``, ``topology``, ``asymmetric`` Taxonomy -------- Formulation discrete_grammar Convexity not_applicable Design Variable Type discrete Is Dynamic no Orientation engineering_practical Feasibility Ratio Hint 0.25 Objective Mode single Constraint Nature hard Bounds Summary asymmetric planar roof-truss topology with seven fixed roof load points Tags ``grammar``, ``truss``, ``roof``, ``discrete``, ``topology``, ``asymmetric`` Statement --------- This catalog entry approximates the fifth planar roof-truss formulation from the structural essay study: seven uniformly spaced fixed roof load points with no enforced symmetry. The state begins with pinned and roller supports plus seven loaded roof joints. Designers can add interior joints at asymmetric candidate locations, then add and remove members to explore non-symmetric layouts. Problem Shape ------------- .. list-table:: :header-rows: 1 :widths: 25 75 * - Field - Value * - State Type - PlanarTrussState * - Initial Transition Count - 41 * - Initial Rule Names - ``add_joint``, ``add_member`` Manifest Parameters ------------------- .. list-table:: :header-rows: 1 :widths: 25 75 * - Key - Value * - candidate_point_fractions - [[0.12, 0.18], [0.3, 0.28], [0.48, 0.18], [0.66, 0.32], [0.84, 0.18]] * - enforce_symmetry - no * - load_magnitude - 1000 * - max_height - 2.5 * - roof_load_x_fractions - [0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875] * - span - 10 Initial Transition Summary -------------------------- .. list-table:: :header-rows: 1 :widths: 70 30 * - Rule Name - Transition Count * - add_joint - 5 * - add_member - 36 Library Interface ----------------- - ``initial_state()`` - ``enumerate_transitions(state)`` - ``enumerate_next_states(state)`` - ``evaluate(state)``