Factory Architect

{{ currentProjectTitle }}
Drag node from palette, connect via sockets (Resource -> Factory input, Factory -> Resource output)
Base Net Rate ?
No net rate data
{{ row.name }} {{ fmt(row.rate, 3) }}/s
Resource node
Cycle (s)
Inputs
Outputs
Samples: {{ simulationResult.times.length }} No simulation data | t={{ fmt(simulationHover.time, 2) }}s
Simulation Graph
{{ item.name }}
0s {{ fmt(simulationResult.duration * 0.5, 1) }}s {{ fmt(simulationResult.duration, 1) }}s {{ fmt(simulationChart.maxY, 2) }} {{ fmt(simulationChart.minY, 2) }}
t = {{ fmt(simulationHover.time, 2) }}s
{{ p.name }} {{ fmt(p.value, 2) }}
Calculating... {{ optimizerProgressText }}
Run simulation to render chart
Smart Summary
{{ line }}
{{ kpi.title }}
{{ kpi.value }}
{{ kpi.note }}
Recommendations
{{ rec.text }}
Simulation Net Rate
Run simulation to see results
{{ row.name }}
{{ fmt(row.rate, 3) }}/s
deficit {{ fmt(row.shortageRate, 3) }}/s
Simulation Table
Resource Produced Consumed Requested Unmet Stock Net Effective Net Final Stock Min Max
No data
{{ row.name }} {{ fmt(row.produced, 2) }} {{ fmt(row.consumed, 2) }} {{ fmt(row.requested, 2) }} {{ fmt(row.unmet, 2) }} {{ fmt(row.net, 2) }} {{ fmt(row.effectiveNet, 2) }} {{ fmt(row.finalStock, 2) }} {{ fmt(row.min, 2) }} {{ fmt(row.max, 2) }}
{{ cloud.mode==='load' ? 'Load From Cloud' : 'Save To Cloud' }}
{{ q.title }}
Optimizer Guide
Для чего нужен Optimizer
Optimizer подбирает количества заводов так, чтобы схема была ближе к выбранной цели: меньше дефицитов, лучше выпуск целевого ресурса, или минимальное число заводов. Он не меняет сам граф правил, только simulation counts.
Быстрый старт (пошагово)
1. Выберите Objective (режим оптимизации).
2. Укажите Target Resource и при необходимости Target Rate.
3. Поставьте границы: Max Count / Factory, Max Total Factories.
4. При необходимости настройте Factory Constraints для конкретных заводов.
5. Нажмите Run Optimizer, проверьте Summary и таблицу, затем скорректируйте параметры и повторите.
Режимы Objective
Balanced: универсальный режим. Снижает дефициты и держит размер решения разумным.
Target Rate: приоритет на достижение заданной скорости по выбранному ресурсу.
Max Output: максимизирует выпуск выбранного ресурса даже если сетка большая.
Min Deficit: максимально гасит нехватки входов (unmet requests).
Min Factories: ищет более компактную конфигурацию, но может снизить выпуск.
Параметры и как они влияют
Iterations: глубина поиска. Больше итераций = лучше шанс найти хороший баланс, но медленнее.
Factory Cost Weight: штраф за размер сетки. Чем выше, тем сильнее optimizer экономит заводы.
Use current manual counts as start seed: добавляет текущую ручную конфигурацию как одну из стартовых точек поиска.
Lock current manual counts as minimum (floor): запрещает optimizer опускаться ниже текущих значений.
Random restart: запускает дополнительные стартовые точки, чтобы выйти из локального минимума.
Factory Constraints
enabled: участвует ли завод в оптимизации.
min / max: нижняя и верхняя границы для этого завода.
fixed: фиксирует точное число и перекрывает min/max.
max = 0: используется глобальный Max Count / Factory.
Если optimizer уводит в нули
1. Включите Lock current manual counts as minimum (floor) для защиты от просадки ниже текущего состояния.
2. Поставьте базовые нижние границы min у критичных заводов.
3. Для целевого продукта задайте Target Resource + Target Rate.
4. Уменьшите Factory Cost Weight, если optimizer слишком агрессивно сокращает сеть.