nasa / bingo

Apache License 2.0
47 stars 28 forks source link

Gradient-Based Optimization from cas_simplification branch #35

Closed nightdr closed 3 years ago

nightdr commented 3 years ago

Includes changes involving the implementation of gradient-based optimization methods for continuous local optimization. I started the architecture for this optimization and implemented it in the test cases and with explicit regression.

nightdr commented 3 years ago

I added changes to fix up the issues brought up in the initial review.

In terms of other issues that we discussed in this week's meeting:

nightdr commented 3 years ago

I made the changes we discussed during our meeting. However, I left the inheritance order as mixin classes first then the base class. I left the order like this because there is no super call in FitnessFunction I could do to pass a metric to a mixin (i.e. If we inherit the base class then mixin classes, there has to be some super call that passes the parameters from the base class to the mixins. However, this doesn't seem possible without adding a metric parameter to the FitnessFunction constructor). It also seems that in other libraries like Django, mixins are inherited first followed by the base class. However, let me know if you want me to try to figure out how to inherit the base class first then the mixins.