[15014] | 1 | package HeuristicLab.Problems.ExternalEvaluation;
|
---|
| 2 | option java_package = "com.heuristiclab.problems.externalevaluation";
|
---|
| 3 |
|
---|
| 4 | message SolutionMessage {
|
---|
| 5 | required int32 solutionId = 1;
|
---|
| 6 |
|
---|
| 7 | message IntegerVariable {
|
---|
| 8 | required string name = 1;
|
---|
| 9 | optional int32 data = 2;
|
---|
| 10 | }
|
---|
| 11 | repeated IntegerVariable integerVars = 2;
|
---|
| 12 |
|
---|
| 13 | message IntegerArrayVariable {
|
---|
| 14 | required string name = 1;
|
---|
| 15 | repeated int32 data = 2;
|
---|
| 16 | optional int32 length = 3;
|
---|
| 17 | }
|
---|
| 18 | repeated IntegerArrayVariable integerArrayVars = 3;
|
---|
| 19 |
|
---|
| 20 | message DoubleVariable {
|
---|
| 21 | required string name = 1;
|
---|
| 22 | optional double data = 2;
|
---|
| 23 | }
|
---|
| 24 | repeated DoubleVariable doubleVars = 4;
|
---|
| 25 |
|
---|
| 26 | message DoubleArrayVariable {
|
---|
| 27 | required string name = 1;
|
---|
| 28 | repeated double data = 2;
|
---|
| 29 | optional int32 length = 3;
|
---|
| 30 | }
|
---|
| 31 | repeated DoubleArrayVariable doubleArrayVars = 5;
|
---|
| 32 |
|
---|
| 33 | message BoolVariable {
|
---|
| 34 | required string name = 1;
|
---|
| 35 | optional bool data = 2;
|
---|
| 36 | }
|
---|
| 37 | repeated BoolVariable boolVars = 6;
|
---|
| 38 |
|
---|
| 39 | message BoolArrayVariable {
|
---|
| 40 | required string name = 1;
|
---|
| 41 | repeated bool data = 2;
|
---|
| 42 | optional int32 length = 3;
|
---|
| 43 | }
|
---|
| 44 | repeated BoolArrayVariable boolArrayVars = 7;
|
---|
| 45 |
|
---|
| 46 | message StringVariable {
|
---|
| 47 | required string name = 1;
|
---|
| 48 | optional string data = 2;
|
---|
| 49 | }
|
---|
| 50 | repeated StringVariable stringVars = 8;
|
---|
| 51 |
|
---|
| 52 | message StringArrayVariable {
|
---|
| 53 | required string name = 1;
|
---|
| 54 | repeated string data = 2;
|
---|
| 55 | optional int32 length = 3;
|
---|
| 56 | }
|
---|
| 57 | repeated StringArrayVariable stringArrayVars = 9;
|
---|
| 58 |
|
---|
| 59 | message RawVariable {
|
---|
| 60 | required string name = 1;
|
---|
| 61 | optional bytes data = 2;
|
---|
| 62 | }
|
---|
| 63 | repeated RawVariable rawVars = 10;
|
---|
| 64 | }
|
---|
| 65 |
|
---|
| 66 | // Nested Extensions http://www.indelible.org/ink/protobuf-polymorphism/
|
---|
| 67 | message QualityMessage {
|
---|
| 68 | required int32 solutionId = 1;
|
---|
| 69 | enum Type {
|
---|
| 70 | SingleObjectiveQualityMessage = 1;
|
---|
| 71 | MultiObjectiveQualityMessage = 2;
|
---|
| 72 | }
|
---|
| 73 | required Type type = 2;
|
---|
| 74 | extensions 1000 to max;
|
---|
| 75 | }
|
---|
| 76 |
|
---|
| 77 | message SingleObjectiveQualityMessage {
|
---|
| 78 | extend QualityMessage {
|
---|
| 79 | required SingleObjectiveQualityMessage qualityMessage = 1000; // unique QualityMessage extension number
|
---|
| 80 | }
|
---|
| 81 | required double quality = 1;
|
---|
| 82 | }
|
---|
| 83 | message MultiObjectiveQualityMessage {
|
---|
| 84 | extend QualityMessage {
|
---|
| 85 | required MultiObjectiveQualityMessage qualityMessage = 1001; // unique QualityMessage extension number
|
---|
| 86 | }
|
---|
| 87 | repeated double qualities = 1;
|
---|
| 88 | }
|
---|
| 89 |
|
---|
| 90 |
|
---|
| 91 | service EvaluationService {
|
---|
| 92 | rpc EvaluateSingleObjective (SolutionMessage) returns (SingleObjectiveQualityMessage);
|
---|
| 93 | rpc EvaluateMultiObjectives (SolutionMessage) returns (MultiObjectiveQualityMessage);
|
---|
| 94 | } |
---|