Planar truss span structural optimization (deflection minimization)#

A fixed-joint binary optimization problem that selects candidate planar-truss members to minimize deflection subject to factor-of-safety and mass thresholds.

See Optimization Problem Catalog for the optimization family index.

Quick Facts#

Field

Value

Problem ID

planar_truss_span_deflection_min

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, deflection

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, deflection

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 minimizes structural deflection.

Feasible candidates must satisfy a minimum factor of safety and a maximum mass threshold. The built-in baseline uses deterministic binary enumeration with cheap graph and crossing prechecks plus hard structural thresholds.

Problem Shape#

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#

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#

Key

Value

candidate_point_fractions

[[0.25, 0.5], [0.5, 0.5], [0.75, 0.5]]

load_magnitude

1000

max_height

5

maximum_mass

20

minimum_fos

1

objective_metric

deflection-min

span

10

Library Interface#

  • generate_initial_solution(seed=None)

  • objective(x)

  • evaluate(x)

  • solve(initial_solution=None, seed=None, maxiter=200)