1// Copyright 2010-2025 Google LLC
2// Licensed under the Apache License, Version 2.0 (the "License");
3// you may not use this file except in compliance with the License.
4// You may obtain a copy of the License at
6// http://www.apache.org/licenses/LICENSE-2.0
8// Unless required by applicable law or agreed to in writing, software
9// distributed under the License is distributed on an "AS IS" BASIS,
10// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11// See the License for the specific language governing permissions and
12// limitations under the License.
16option java_package = "com.google.ortools.routing.parser";
17option java_multiple_files = true;
18option csharp_namespace = "Google.OrTools.Routing.Parser";
20package operations_research.routing;
22// This is the proto for describing the multicommodity fixed-charged network
25message NetworkTopology {
26 // The start node of an arc. Must be >= 0.
27 // We do allow multi-arcs but not self-arcs.
28 repeated int32 from_node = 1;
30 // The end node of arcs. Must be >= 0.
31 repeated int32 to_node = 2;
33 // The variable cost per unit of commodity demand on arcs. Must be >= 0.
34 repeated double variable_cost = 3;
36 // The fixed charge for using an arc. Must be >= 0.
37 repeated double fixed_cost = 4;
39 // The total capacity of arcs. Must be > 0.
40 repeated double capacity = 5;
44 // The departure node of the demand. Must be >= 0.
45 repeated int32 from_node = 1;
47 // The destination node of the demand. Must be >= 0.
48 repeated int32 to_node = 2;
50 // The quantity to carry (must be > 0).
51 repeated double demand = 3;
54message CapacityPlanningInstance {
55 // The network on which to operate.
56 NetworkTopology topology = 1;
59 Commodities commodities = 2;