1// Copyright 2010-2024 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.
16package operations_research;
18// This is the proto for describing the multicommodity fixed-charged network
21message NetworkTopology {
22 // The start node of an arc. Must be >= 0.
23 // We do allow multi-arcs but not self-arcs.
24 repeated int32 from_node = 1;
26 // The end node of arcs. Must be >= 0.
27 repeated int32 to_node = 2;
29 // The variable cost per unit of commodity demand on arcs. Must be >= 0.
30 repeated double variable_cost = 3;
32 // The fixed charge for using an arc. Must be >= 0.
33 repeated double fixed_cost = 4;
35 // The total capacity of arcs. Must be > 0.
36 repeated double capacity = 5;
40 // The departure node of the demand. Must be >= 0.
41 repeated int32 from_node = 1;
43 // The destination node of the demand. Must be >= 0.
44 repeated int32 to_node = 2;
46 // The quantity to carry (must be > 0).
47 repeated double demand = 3;
50message CapacityPlanningInstance {
51 // The network on which to operate.
52 NetworkTopology topology = 1;
55 Commodities commodities = 2;