I have a couple components that write data into a fairly complex internal excel spreadsheet, and then I have a couple components that read the result of those internal Excel computations. This works great if I have a static variable, or even if I just want to show that the Excel reader is dynamic and can read a changing slider (with some delay).
The problem is when I try and hook up this script to an optimizer (Octopus, Galapagos, DSE), the internal delay between the changing of the input sliders and the updated result from the Excel reader make the optimizer disassociate specific inputs with their outputs.
In other words, my well behaved optimization model suddenly becomes a computational nightmare for Octopus because there is no feedback loop, and the benchmarks that define one combination of variables as superior to another cannot be trusted.
I can replicate the logic from the Excel spreadsheet in a huge Grasshopper script, but that would take forever and it doesn’t make sense to double the work. For background information, I am using some pretty old plugins to read and write to Excel (GHExcel).
Is there a way to break up this script such that an optimizer plugin can ‘wait’ for the internal excel calculations to complete and then use the specific result in the optimization feedback loop?