001/* *********************************************************************** *
002 * project: org.matsim.*
003 * *********************************************************************** *
004 *                                                                         *
005 * copyright       : (C) 2018 by the members listed in the COPYING,        *
006 *                   LICENSE and WARRANTY file.                            *
007 * email           : info at matsim dot org                                *
008 *                                                                         *
009 * *********************************************************************** *
010 *                                                                         *
011 *   This program is free software; you can redistribute it and/or modify  *
012 *   it under the terms of the GNU General Public License as published by  *
013 *   the Free Software Foundation; either version 2 of the License, or     *
014 *   (at your option) any later version.                                   *
015 *   See also COPYING, LICENSE and WARRANTY file                           *
016 *                                                                         *
017 * *********************************************************************** */
018
019package org.matsim.contrib.drt.optimizer.rebalancing.mincostflow;
020
021import java.util.List;
022import java.util.Map;
023
024import org.apache.commons.lang3.tuple.Pair;
025import org.matsim.contrib.drt.optimizer.rebalancing.RebalancingStrategy.Relocation;
026import org.matsim.contrib.dvrp.fleet.DvrpVehicle;
027
028/**
029 * @author michalm
030 */
031public interface MinCostRelocationCalculator {
032        List<Relocation> calcRelocations(List<Pair<String, Integer>> supply, List<Pair<String, Integer>> demand,
033                        Map<String, List<DvrpVehicle>> rebalancableVehiclesPerZone);
034}