WL7 Optimizer Interface
Author: LenMoz
Creation Date: 1/6/2021 1:14 PM
profile picture

LenMoz

#1
1. Will the optimizer interface remain the same in WL7?

2. How will multi-core support work re Optimizers? The Particle Swarm Optimizer has two types of algorithm. Some calculate parameter sets once per iteration. These parameter sets could be calculated in parallel. Other algorithms, however, only determine the next set of parameters to calculate after the result of the immediately prior parameter set is known, in order to steer particles using the latest information. Will this be a problem?

3. Will the custom forms need to change? Will Zedgraph be supported?
profile picture

superticker

#2
Thanks for supporting the Particle Swarm Optimizer on WL7. It's the only one I use. And I wouldn't use WL7 without it.
profile picture

Glitch

#3
1) No, it's a completely new interface.
2) Your Optimizer calls a method called ExecuteOptimizationRun, which returns an instance of OptimizationResult. OptimizationResult contains all of the metrics of that run. So you can examine it and even store it in a list so other runs can examine past results if needed. This is what the out-of-the-box Shrinking Window (kind of a Monte Carlo) Optimizer does.
3a) Yes
3b) I'm not familiar with Zedgraph?
profile picture

LenMoz

#4
superticker,
I haven't committed to WL7 support for PSO. This is what I'm trying to determine. The changes look extensive.

Glitch,
1) When will details of the new interface be available? I can enter a ticket if details are proprietary at this point in time.
3b) Zedgraph is a (dated) graphing package that was the graphing tool in WL6.
profile picture

Glitch

#5
1) We are still working on the new web site, but the API document for the Optimizer interface should be ready by next week.

I suppose Zedgraph was used by some of the MS123 visualizer extensions? We use TeeChart as our base graphing library, and are sticking with it for WL7, using TeeChart.NETCore.WPF.
profile picture

Eugene

#6
ZedGraph was being updated after its author John Champion's death by some maintainer(s) but it seems dated (nuget shows last update was in 2015). There's no point to support it on NET Core. WL7 uses Steema TeeChart but it's a licensed solution so 3rd party developers might want to look for free alternatives like:

* WinForms.DataVisualization (great but deprecated)
* ScottPlot (seems to be actively developed)

I've switched from ZedGraph to MS Chart for MS123 Visualizers but Analysis Series, Neuro-Lab and Monte Carlo Lab keep using it.
profile picture

superticker

#7
QUOTE:
WL7 uses Steema TeeChart but is ... licensed ... so 3rd party developers might want to look for free alternatives
I got your point. The free, open source packages don't allow you to include their product in a paid product (like WL7). Have you thought about asking them for an exception if you're willing to pay a royalty fee for ScottPlot?

In other words, it would be nice if we could use ScottPlot for all aspects of WL7 (assuming ScottPlot would license its product to a paid vendor like MS123). Perhaps the licensing would be very cheap if you didn't require lots of support.

Thanks for the ScottPlot link. I see it supports both Windows.Forms and WPF. Interesting. I'm wondering if it can do real-time plotting or just batch plotting?

QUOTE:
superticker,
I haven't committed to WL7 support for PSO. This is what I'm trying to determine.
I would offer some help, but I know nothing about Windows GUIs such as WPF. Maybe I could do the ScottPlot interface for PSO.
profile picture

LenMoz

#8
QUOTE:
but I know nothing about Windows GUIs such as WPF

Neither do I. But, before I wrote PSO, I didn't know Windows Forms, either, or Zedgraph. The WLD6/PSO Forms interface is crazy complex, with callbacks and thread issues. The user interface code in PSO is as big as the algorithms.

Then again, before I started using WL, I knew nothing about C#. All self-taught. StackOverflow and I are very good friends. But now, with WL7, it looks like another big learning curve for me. I'm coding since 1966 (when a Fortran compile took 10 minutes), and retired since 2011. I'm getting a little too old for this!

Sorry for the off-topic, Eugene.
profile picture

Eugene

#9
No problem Len, and thanks for the PSO.
profile picture

superticker

#10
QUOTE:
before I started using WL, I knew nothing about C#.
Same here. But I knew FORTRAN, C++, and some Java before.

QUOTE:
The WLD6/PSO Forms interface is crazy complex, with callbacks and thread issues.
And WPF will be more convoluted with a little XML in there. I think I hear you saying, since neither of us have WPF experience (and I'm younger), you would prefer if I tackled that part. Hmm.

Well, if I did the front end (WPF and ScottPlot), would you do the back end since you know this code? Understand, it would take me a long time to do this front end GUI since I have zero experience with this. And I have no idea how long it would take or when I would be done. But I really like the PSO product and would like to use it with WL7. So I'm somewhat motivated.

I'm gathering the other developers are busy porting WL libraries to WL7 now, and prefer not to get involved. :(
profile picture

LenMoz

#11
QUOTE:
prefer if I tackled that part
Not sure I'm ready for collaboration quite yet. Let's see what the WL7 interface looks like. I'm particularly interested in the overall design. In WLD6, an Optimizer is called by the WLD6 Optimizer host, and gives its custom form(s) to that host for presentation as new tabs.
profile picture

superticker

#12
QUOTE:
Not sure I'm ready for collaboration quite yet.
Understood. The solution/port would be more "unified" if one person did all of it. But what's most important is that it gets ported to WL7 one way or another. That's what matters. Happy computing to you, Superticker.
profile picture

LenMoz

#13
Any news about optimizers, or the optimizer interface? My strategies have too many parameters for current optimizers. I need something "smarter".

Glitch on January 6 -
QUOTE:
We are still working on the new web site, but the API document for the Optimizer interface should be ready by next week.
This website uses cookies to improve your experience. We'll assume you're ok with that, but you can opt-out if you wish (Read more).