Skip to content
Snippets Groups Projects
Commit 7180514f authored by Stefano Borini's avatar Stefano Borini
Browse files

Restoring old dummy dakota optimizer

parent 11f8f398
No related branches found
No related tags found
1 merge request!45Added support for MCO named parameters.
...@@ -8,20 +8,14 @@ class DakotaCommunicator(BaseMCOCommunicator): ...@@ -8,20 +8,14 @@ class DakotaCommunicator(BaseMCOCommunicator):
def receive_from_mco(self): def receive_from_mco(self):
data = sys.stdin.read() data = sys.stdin.read()
values = list(map(float, data.split())) values = list(map(float, data.split()))
parameters = self.model.parameters
if len(values) != len(parameters): value_types = self.model.value_types
raise ValueError( if len(values) != len(value_types):
"The passed information length is {}, but the model " raise ValueError("Length of provided data differs from the number "
"specifies {} values.".format( "of expected types. {} {}".format(values,
len(values), len(parameters) value_types))
))
value_types = [p.type for p in parameters]
value_names = [p.name for p in parameters]
return DataSourceParameters( return DataSourceParameters(
value_names=value_names,
value_types=value_types, value_types=value_types,
values=numpy.array(values) values=numpy.array(values)
) )
......
from traits.api import List, String from traits.api import List, String
from force_bdss.api import BaseMCOModel from force_bdss.api import BaseMCOModel
......
...@@ -5,7 +5,7 @@ import sys ...@@ -5,7 +5,7 @@ import sys
from force_bdss.api import BaseMultiCriteriaOptimizer from force_bdss.api import BaseMultiCriteriaOptimizer
class DummyDakotaOptimizer(BaseMultiCriteriaOptimizer): class DakotaOptimizer(BaseMultiCriteriaOptimizer):
def run(self): def run(self):
print("Running dakota optimizer") print("Running dakota optimizer")
for initial_value in range(10): for initial_value in range(10):
...@@ -18,5 +18,3 @@ class DummyDakotaOptimizer(BaseMultiCriteriaOptimizer): ...@@ -18,5 +18,3 @@ class DummyDakotaOptimizer(BaseMultiCriteriaOptimizer):
out = ps.communicate("{}".format(initial_value).encode("utf-8")) out = ps.communicate("{}".format(initial_value).encode("utf-8"))
print("{}: {}".format(initial_value, out[0].decode("utf-8"))) print("{}: {}".format(initial_value, out[0].decode("utf-8")))
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
"multi_criteria_optimizer": { "multi_criteria_optimizer": {
"id": "force.bdss.bundles.enthought.dakota", "id": "force.bdss.bundles.enthought.dakota",
"model_data": { "model_data": {
"value_types": ["DUMMY"]
} }
}, },
"data_sources": [ "data_sources": [
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment