Planar truss span grammar problem

A discrete topology grammar for adding and removing joints and members in a planar truss.

See Grammar Problem Catalog for the grammar family index.

Quick Facts

Field

Value

Problem ID

planar_truss_span

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, discrete, topology

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

planar topology over a fixed span and height envelope

Tags

grammar, truss, discrete, topology

Statement

Create a stable, lightweight planar truss spanning a fixed distance between a left pinned support and a right roller support. The grammar begins with the supports and one loaded free joint. Designers can add interior joints, add members, and remove members.

States are evaluated by translating the library-owned grammar state into a fresh trussme.Truss, applying the load, and attempting a structural analysis. Singular or unstable states are treated as infeasible results.

Problem Shape

Field

Value

State Type

PlanarTrussState

Initial Transition Count

6

Initial Rule Names

add_joint, add_member

Manifest Parameters

Key

Value

load_magnitude

1000

max_height

5

span

10

Initial Transition Summary

Rule Name

Transition Count

add_joint

3

add_member

3

Library Interface

  • initial_state()

  • enumerate_transitions(state)

  • enumerate_next_states(state)

  • evaluate(state)