SimWrap
Apply the TrueLoop runtime to a coupled black-box vector simulator through the existing client.
TrueLoop SimWrap is the runtime wrapped around your simulator. Your code proposes a configuration, the simulator returns an associated response vector, and SimWrap returns the next configuration to evaluate.
Use it for response matching when simulator calls are expensive, the response is exposed component by component, and the available evaluation budget is too small for identification or repeated diagnostic runs. It is not a general scalar global optimizer and it does not make an individual simulator call execute faster.
Hosted evaluation adds a network hop. It is best suited to simulator calls measured in seconds or longer. When the loop is latency-sensitive, air-gapped, or subject to data-residency requirements, contact TrueLoop for an offline build and commercial license.
def measure(x):
return simulate(x).response_vector
opt = SWCOptimizer(key, n=len(x0), mode="regulation", target=target)
x = opt.start(x0)
for _ in range(rounds):
x = opt.step(measure(x), target=target)
opt.end()Count evaluations correctly
Each call to simulate() is one charged simulator response. After the last step(), configuration is a new post-update candidate that has not yet been observed by the black box. The final simulate(configuration) call verifies whether it meets your acceptance threshold.
Compare methods from the same starting configuration, with the same response noise, bounds, stopping rule, and total number of simulator calls. Count commissioning and model-building calls against the same budget.
Fit and boundary
Strong candidates expose a writable configuration vector and an associated component-level response, remain inside the supported coupling boundary, and make each simulator call costly enough that evaluation count dominates client overhead.
Prefer a current exact model when it is available cheaply. Prefer a commissioned specialist solver when its setup cost fits the operating budget and the system remains stable enough to reuse it. SimWrap is designed for the remaining regime: expensive calls, coupled response, changing conditions, and a tight time-to-solution budget.
Move the same loop offline
Keep configuration, response, and target vectors in the same order and preserve the start → simulate → step → end lifecycle. Moving from hosted evaluation to an offline build removes the endpoint round trip without changing the simulator-side integration.
Contact TrueLoop with vector size, average simulator-call duration, deadline, data-residency needs, and deployment environment to scope the offline package.
Run the envelope, then race the runtime and your incumbent under the same measured budget.