IoT home cooling-system co-design grammar problem

A bounded IoT grammar for placing processors, sensors, and coolers in a fixed home geometry and evaluating lifecycle cost and thermal peak with a MATLAB-parity simulator.

See Grammar Problem Catalog for the grammar family index.

Quick Facts

Field

Value

Problem ID

iot_home_cooling_system_design

Problem Family

grammar

Implementation

design_research_problems.problems.grammar._iot_home:IoTHomeCoolingGrammarProblem

Capabilities

discrete-actions, external-adapter, serializable-state, statement-markdown

Study Suitability

none

Tags

grammar, iot, thermal, co-design, discrete

Taxonomy

Formulation

discrete_grammar

Convexity

not_applicable

Design Variable Type

discrete

Is Dynamic

no

Orientation

engineering_practical

Feasibility Ratio Hint

0.1

Objective Mode

multi

Constraint Nature

hard

Bounds Summary

finite placement points with explicit IoT products, links, and discrete cooler settings over a fixed house geometry

Tags

grammar, iot, thermal, co-design, discrete

Statement

Design a home cooling IoT network over a fixed house layout. The grammar allows adding processors, sensors, and coolers, moving products across a finite set of study-derived placement points, editing links, deleting products/links, and tuning cooler settings (BTU/h, CFM).

The evaluator ports the original MATLAB study mechanics into deterministic Python: directed decision pathways, room-level airflow balance, temperature updates with conduction and leaks, and lifecycle costing (capital + operation). The reported metrics are total_cost, peak_temp_c, capital_cost, and operation_cost.

Problem Shape

Field

Value

State Type

IoTHomeState

Initial Transition Count

52

Initial Rule Names

add_processor

Manifest Parameters

Key

Value

candidate_points

[[-14.659024, 36.923898], [-8.708087, 29.342105], [2.095152, 8.723329], [2.278258, 4.449509], [3.010681, 38.909537], [3.28534, 39.697724], [3.651551, 26.568279], [4.200869, 29.064723], [6.031926, 19.078947], [6.215032, 8.168563], [6.947455, 35.999289], [6.947455, 46.293829], [8.412301, 33.895512], [9.602488, 34.351332], [15.736531, 38.403272], [16.468954, 39.091865], [17.109824, 19.263869], [17.29293, 10.648668], [20.039516, 47.279516], [21.687468, 29.793128], [26.539771, 48.204125], [27.272194, 47.556899], [28.09617, 19.633713], [28.187723, 36.369132], [30.293439, 18.894026], [30.934309, 36.630435], [35.237294, 39.605263], [36.70214, 46.840813], [38.350092, 18.246799], [39.540279, 40.003506], [39.814938, 37.663585], [39.906491, 18.894026], [41.279784, 17.507112], [47.50538, 25.181366], [47.780038, 23.794452], [48.237803, 29.896871], [48.695567, 29.619488], [50.526625, 45.060455], [50.892836, 17.414651], [58.949489, 14.640825], [59.498807, 15.657895], [60.414335, 45.060455], [61.51297, 44.690612], [61.787629, 32.983871], [61.787629, 35.354137], [61.970734, 45.707681], [62.336946, 40.641655], [63.43558, 24.04979], [71.217575, 30.978261], [71.675339, 28.509957], [75.429007, 29.896871], [79.091123, 16.952347]]

cooler_btus_options

[5000.0, 10000.0, 15000.0, 20000.0]

cooler_cfm_options

[100.0, 200.0, 300.0, 400.0]

default_cooler_btus

10000

default_cooler_cfm

200

max_products

32

Initial Transition Summary

Rule Name

Transition Count

add_processor

52

Library Interface

  • initial_state()

  • enumerate_transitions(state)

  • enumerate_next_states(state)

  • evaluate(state)