Hi community, I am using Python API to perform local optimisation and wanted to display the number of cycles taken for optimising a design. I tried the following code and print the value for LocalOpt.Cycles, but the output was zero:
Code:
# Local optimisation till completion
print('... Running Local Optimization ...')
LocalOpt = TheSystem.Tools.OpenLocalOptimization()
LocalOpt.Algorithm = ZOSAPI.Tools.Optimization.OptimizationAlgorithm.DampedLeastSquares
LocalOpt.Cycles = ZOSAPI.Tools.Optimization.OptimizationCycles.Automatic
LocalOpt.NumberOfCores = 8
print('Initial Merit Function:', LocalOpt.InitialMeritFunction)
t = time.time()
LocalOpt.RunAndWaitForCompletion()
print('Final Merit Function:', LocalOpt.CurrentMeritFunction)
print('Cycles:', LocalOpt.Cycles)
# Get the elapsed time.
elapsed = time.time() - t
print('Time elapsed: ' + str(round(elapsed,3)) + 's')
Output
... Running Local Optimization ...
Initial Merit Function: 3.6106045608778228
Final Merit Function: 3.5055479574965736
Cycles: 0
Time elapsed: 0.521s
Does anyone know how can this be done or if it is possible to do it?