.. Auto-generated by scripts/generate_problem_catalog_docs.py. Do not edit by hand. 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 :doc:`../grammar` for the grammar family index. Quick Facts ----------- .. list-table:: :header-rows: 1 :widths: 20 80 * - 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 ------------- .. list-table:: :header-rows: 1 :widths: 25 75 * - Field - Value * - State Type - IoTHomeState * - Initial Transition Count - 52 * - Initial Rule Names - ``add_processor`` Manifest Parameters ------------------- .. list-table:: :header-rows: 1 :widths: 25 75 * - 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 -------------------------- .. list-table:: :header-rows: 1 :widths: 70 30 * - Rule Name - Transition Count * - add_processor - 52 Library Interface ----------------- - ``initial_state()`` - ``enumerate_transitions(state)`` - ``enumerate_next_states(state)`` - ``evaluate(state)``