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