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 MemberSelection {
|
---|
70 | SingleObjectiveQualityMessage = 1;
|
---|
71 | MultiObjectiveQualityMessage = 2;
|
---|
72 | }
|
---|
73 | required Type memberSelection = 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 | } |
---|