RAVEN is a flexible and multi-purpose probabilistic risk analysis, validation and uncertainty quantification, parameter optimization, model reduction and data knowledge-discovering framework.
Is your feature request related to a problem? Please describe.
Simulated Annealing does not support discrete optimization.
Describe the solution you'd like
Possibility to support discrete optimization. This support would require the modification of the method _nextNeighbour.
Currently, the method assumes continuous variables only. An approach to support both could resolve around the usage of the distributions linked to the variables for the selection of the "next neighbor" in the "probability space" and then use the "inverseCDF" method to back transform in the manifest space.
Describe alternatives you've considered
Use a continuous optimization and then cast the "discrete" variables as "discrete" in an external model. This approach somehow works even if it is not optimal
For Change Control Board: Issue Review
This review should occur before any development is performed as a response to this issue.
[x] 1. Is it tagged with a type: defect or task?
[x] 2. Is it tagged with a priority: critical, normal or minor?
[x] 3. If it will impact requirements or requirements tests, is it tagged with requirements?
[x] 4. If it is a defect, can it cause wrong results for users? If so an email needs to be sent to the users.
[x] 5. Is a rationale provided? (Such as explaining why the improvement is needed or why current code is wrong.)
For Change Control Board: Issue Closure
This review should occur when the issue is imminently going to be closed.
[x] 1. If the issue is a defect, is the defect fixed?
[x] 2. If the issue is a defect, is the defect tested for in the regression test system? (If not explain why not.)
[x] 3. If the issue can impact users, has an email to the users group been written (the email should specify if the defect impacts stable or master)?
[x] 4. If the issue is a defect, does it impact the latest release branch? If yes, is there any issue tagged with release (create if needed)?
[x] 5. If the issue is being closed without a pull request, has an explanation of why it is being closed been provided?
Issue Description
Is your feature request related to a problem? Please describe. Simulated Annealing does not support discrete optimization.
Describe the solution you'd like Possibility to support discrete optimization. This support would require the modification of the method
_nextNeighbour
. Currently, the method assumes continuous variables only. An approach to support both could resolve around the usage of the distributions linked to the variables for the selection of the "next neighbor" in the "probability space" and then use the "inverseCDF" method to back transform in the manifest space.Describe alternatives you've considered Use a continuous optimization and then cast the "discrete" variables as "discrete" in an external model. This approach somehow works even if it is not optimal
For Change Control Board: Issue Review
This review should occur before any development is performed as a response to this issue.
For Change Control Board: Issue Closure
This review should occur when the issue is imminently going to be closed.