The open-vrp Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The open-vrp Reference Manual

This is the open-vrp Reference Manual, version 0.6.3, generated automatically by Declt version 2.3 "Robert April" on Tue Feb 20 09:08:17 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

Open-VRP

Check out the Wiki for an overview of Open-VRP or scroll down for a summary, fork and get-started!

Synopsis

Open VRP is a framework to model and solve VRP-like problems for students, academics, businesses and hobbyist alike. This framework allows for quick implementation of simple TSP/VRP problems to more complicated VRPTW, PDPTW, MDCPVRPPDTW, or however cool you want to sound. The library is extensibly written in Common Lisp's CLOS. Depending on your interest/purpose, an algorithm can be:

The Problem object (e.g. VRP) and the Algorithm object (e.g. Genetic Algorithm) are modelled seperately and combined with the generic method (solve-prob problem algo). Different solution algorithms can be tested and compared against each other on the same problem (which you only model once).

Current features (v. 0.6.2)

Vision

Too often have I found myself having to build a VRP model from scratch, just to experiment with some meta-heuristics for a school paper. Academics/students with a background/interest in Mathematics/Operations Research without the skills/patience for die-hard coding (in C++/Java), have no choice but to spend their valuable time stuck in the debug/test/debug cycle. Here is why those in OR should consider Common Lisp as an option.

With this framework, I hope to catalyze the research and application of routing solutions. Researchers in innovative new algorithms should not need to fiddle in the Eclipse debugger screen. They should be able to focus all their energy and effort in devising their heuristics. OR should be kept fun and engaging.

The ultimate vision for Open VRP is a simple intuitive toolkit for the OR community, free for anyone.

Installation

~$ git clone git://github.com/mck-/Open-VRP.git

Add this path and evaluate require:

(push "/path/to/Open-VRP/" asdf:*central-registry*)
(require 'open-vrp)
(in-package :open-vrp)

Usage

Check the Wiki for more documentation, the following is a short summary of the main functionality.

solve-prob expects a problem object and an algo object.

test-vrp, solomon25, solomon100, christofides-1 and christofides-2 are pre-loaded demo problems. To use Tabu Search:

(solve-prob test-vrp (make-instance 'tabu-search :iterations 10 :animatep T))
(solve-prob solomon100 (make-instance 'tabu-search :iterations 100))
(solve-prob christofides-2 (make-instance 'tabu-search :iterations 50))

By default, problems will plot to plots/name.png and log to run-logs/name.txt where name refers to the :name slot of the Problem object. (toggle-plot <problem>) to disable plotting the final solution. Use (set-log-mode <problem> x) to switch from [0] no logging, [1] logging to file or [2] logging to the REPL.

If you don't like the legend in the plot, turn it off with (toggle-legend <problem>).

When :animatep is set to T, each iteration will produce a plot in run-frames/Iteration x.png (much slower, since it needs to plot each iteration). You may use (toggle-animate <algo>) to turn it on/off.

You can define your own problem objects with:

(define-problem "VRP" fleet-size :node-coords-list node-coords :to-depot T)
(define-problem "CVRP" fleet-size :node-coords-list node-coords :demands demands-list :capacities capacity-list)
(define-problem "VRPTW" fleet-size :node-coords-list node-coords :time-windows time-windows :durations durations :speeds speed)

where node-coords is a list of pairs, demands-list a list of associated demands (must be same length), and fleet-size is the number of vehicles. When a demands-list and vehicle capacity are provided, the resulting problem is a CVRP. If time-windows (list of pairs) and durations are given, the resulting problem object is a VRPTW. When everything is provided, it creates a CVRPTW. Each class of problem has its own specific constraints to check.

You may also provide a(n asymmetric) distance matrix instead of node-coords (real-life problems). You won't be able to plot the solution without node-coords though.

(define-problem "ASYM-CVRP" 3 :demands '(0 1 2 3 2 1) :capacities 8 :dist-array dist-aray)

Note that the above will create 6 nodes, so the dimensions of the dist-array must be 6x6. Also note that we provide a single number for capacities (instead of a list with length 3), which means that all vehicles will have a capacity of 8. Single numbers are allowed for :demands, :durations, :capacites and :speeds

Or to load a problem from a text-file (currently supports Solomon-format and TSPLIB cvrp format):

(defvar test-case-solomon (load-test-case-file "path-to-solomon-file-format.txt"))
(defvar test-case-tsplib (load-test-case-file "path-to-tsplib-file-format.vrp"))

When the algo is finished running, it returns the Algo object, which contains :current-sol and :best-sol. Use iterate-more to keep searching:

(iterate-more <algo> int)

Output

An example output of Solomon's VRPTW 100-customers benchmark test-case, solved with Tabu Search.

alt Optimal solution

TODO

License

Open-VRP is licensed under the terms of the Lisp Lesser GNU Public License, known as the LLGPL. The LLGPL consists of a preamble (see above URL) and the LGPL. Where these conflict, the preamble takes precedence. Open-VRP is referenced in the preamble as the "LIBRARY."


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Next: , Previous: , Up: Systems   [Contents][Index]

2.1 open-vrp

Author

Marc Kuo

License

LLGPL

Description

open-vrp

Version

0.6.3

Dependencies
Source

open-vrp.asd (file)

Components

Previous: , Up: Systems   [Contents][Index]

2.2 open-vrp-lib

Author

Marc Kuo

License

LLGPL

Description

open-vrp-library

Version

0.6.3

Dependencies
Source

open-vrp-lib.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

3 Modules

Modules are listed depth-first from the system components tree.


Next: , Previous: , Up: Modules   [Contents][Index]

3.1 open-vrp/algo

Parent

open-vrp (system)

Location

algo/

Components

Next: , Previous: , Up: Modules   [Contents][Index]

3.2 open-vrp/test-cases

Dependency

algo (module)

Parent

open-vrp (system)

Location

test-cases/

Components

Previous: , Up: Modules   [Contents][Index]

3.3 open-vrp-lib/lib

Dependency

packages.lisp (file)

Parent

open-vrp-lib (system)

Location

lib/

Components

Next: , Previous: , Up: Top   [Contents][Index]

4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

4.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.1 open-vrp.asd

Location

open-vrp.asd

Systems

open-vrp (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.2 open-vrp-lib.asd

Location

open-vrp-lib.asd

Systems

open-vrp-lib (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.3 open-vrp/algo/algo-conditions.lisp

Parent

algo (module)

Location

algo/algo-conditions.lisp

Exported Definitions

tabu-list (method)

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.4 open-vrp/algo/tools.lisp

Parent

algo (module)

Location

algo/tools.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.5 open-vrp/algo/iterator.lisp

Parent

algo (module)

Location

algo/iterator.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.6 open-vrp/algo/best-insertion.lisp

Parent

algo (module)

Location

algo/best-insertion.lisp

Exported Definitions
Internal Definitions

generate-insertion-moves (function)


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.7 open-vrp/algo/greedy-NN.lisp

Parent

algo (module)

Location

algo/greedy-NN.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.8 open-vrp/algo/greedy-append.lisp

Parent

algo (module)

Location

algo/greedy-append.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.9 open-vrp/algo/greedy-best-insertion.lisp

Parent

algo (module)

Location

algo/greedy-best-insertion.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.10 open-vrp/algo/TS-classdef.lisp

Parent

algo (module)

Location

algo/TS-classdef.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.11 open-vrp/algo/TS-utils.lisp

Parent

algo (module)

Location

algo/TS-utils.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.12 open-vrp/algo/TS.lisp

Parent

algo (module)

Location

algo/TS.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.13 open-vrp/test-cases/test-cases.lisp

Parent

test-cases (module)

Location

test-cases/test-cases.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.14 open-vrp/test-cases/test-suite.lisp

Parent

test-cases (module)

Location

test-cases/test-suite.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.15 open-vrp-lib/packages.lisp

Parent

open-vrp-lib (system)

Location

packages.lisp

Packages

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.16 open-vrp-lib/lib/class-definitions.lisp

Parent

lib (module)

Location

lib/class-definitions.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.17 open-vrp-lib/lib/simple-utils.lisp

Parent

lib (module)

Location

lib/simple-utils.lisp

Exported Definitions
Internal Definitions

vrp-object (function)


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.18 open-vrp-lib/lib/list.lisp

Parent

lib (module)

Location

lib/list.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.19 open-vrp-lib/lib/network.lisp

Parent

lib (module)

Location

lib/network.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.20 open-vrp-lib/lib/fleet.lisp

Parent

lib (module)

Location

lib/fleet.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.21 open-vrp-lib/lib/fitness.lisp

Parent

lib (module)

Location

lib/fitness.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.22 open-vrp-lib/lib/output.lisp

Parent

lib (module)

Location

lib/output.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.23 open-vrp-lib/lib/route.lisp

Parent

lib (module)

Location

lib/route.lisp

Exported Definitions
Internal Definitions

change-route (macro)


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.24 open-vrp-lib/lib/draw-solution.lisp

Parent

lib (module)

Location

lib/draw-solution.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.25 open-vrp-lib/lib/solver.lisp

Parent

lib (module)

Location

lib/solver.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.26 open-vrp-lib/lib/constraints.lisp

Parent

lib (module)

Location

lib/constraints.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.27 open-vrp-lib/lib/conditions.lisp

Parent

lib (module)

Location

lib/conditions.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.28 open-vrp-lib/lib/init-macros.lisp

Parent

lib (module)

Location

lib/init-macros.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.29 open-vrp-lib/lib/read-solomon.lisp

Parent

lib (module)

Location

lib/read-solomon.lisp

Exported Definitions

load-solomon-vrp-file (function)

Internal Definitions

couple-lists (function)


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.30 open-vrp-lib/lib/read-cvrp.lisp

Parent

lib (module)

Location

lib/read-cvrp.lisp

Exported Definitions

load-tsplib-vrp-file (function)

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.31 open-vrp-lib/lib/config-functions.lisp

Parent

lib (module)

Location

lib/config-functions.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.32 open-vrp-lib/lib/read-test-case.lisp

Parent

lib (module)

Location

lib/read-test-case.lisp

Exported Definitions

load-test-case-file (function)


Previous: , Up: Lisp files   [Contents][Index]

4.1.33 open-vrp-lib/lib/batch-run.lisp

Parent

lib (module)

Location

lib/batch-run.lisp

Exported Definitions

batch-run (macro)


Next: , Previous: , Up: Top   [Contents][Index]

5 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

5.1 open-vrp

Source

packages.lisp (file)

Use List

Next: , Previous: , Up: Packages   [Contents][Index]

5.2 open-vrp.test

Source

packages.lisp (file)

Use List
Used By List

open-vrp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.3 open-vrp.algo

Source

packages.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.4 open-vrp.util

Source

packages.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

Previous: , Up: Packages   [Contents][Index]

5.5 open-vrp.classes

Source

packages.lisp (file)

Use List

common-lisp

Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

6.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.1 Special variables

Special Variable: *multi-run-start-time*
Package

open-vrp.util

Source

solver.lisp (file)

Special Variable: *node-coords*
Package

open-vrp.test

Source

test-cases.lisp (file)

Special Variable: *start-time*
Package

open-vrp.util

Source

solver.lisp (file)

Special Variable: christofides-1
Package

open-vrp.test

Source

test-cases.lisp (file)

Special Variable: christofides-2
Package

open-vrp.test

Source

test-cases.lisp (file)

Special Variable: solomon100
Package

open-vrp.test

Source

test-cases.lisp (file)

Special Variable: solomon25
Package

open-vrp.test

Source

test-cases.lisp (file)

Special Variable: test-tsp
Package

open-vrp.test

Source

test-cases.lisp (file)

Special Variable: test-vrp
Package

open-vrp.test

Source

test-cases.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.2 Macros

Macro: aif TEST-FORM THEN-FORM &optional ELSE-FORM
Package

open-vrp.util

Source

simple-utils.lisp (file)

Macro: awhile EXPR &body BODY
Package

open-vrp.util

Source

simple-utils.lisp (file)

Macro: batch-run (X DIR-PATH &key PLOTP LOG-MODE) OUTPUT-FILE NUM-TIMES &body ALGO-CALL

Given a directory, will call algo-call on each file that is loaded using the loader-fn and bound to x. Output-file is a mandatory filepath to which the results will be written. Algo-call must return an <Algo> object (e.g. multi-run-algo or solve-prob). Num-times is the number of times the algo-call will run on each test-case, which will be used for stats. Will return a list of list of algo objects holding the solutions.

Example: (batch-run (test-case "test-cases/Solomon-25/")
"run-logs/Solomon-25-batch.txt" 20
(solve-prob test-case (make-instance ’tabu-search :iterations 300))).

Package

open-vrp.util

Source

batch-run.lisp (file)

Macro: constraints-check ARGLIST INIT-FORMS NEXT-FORMS TESTFORM &optional ENDTEST
Package

open-vrp.util

Source

constraints.lisp (file)

Macro: create-nodes &key NODE-COORDS DEMANDS TIME-WINDOWS DURATIONS DIST-MATRIX

Will return a vector of nodes that are numbered starting from 0 (which should be the base node, by convention over configuration). All attribute parameters are optional but must be of the same length. Note that dist-matrix parameter is not used, but only to create nodes when no other parameter is passed (called from define-problem).

Package

open-vrp.util

Source

init-macros.lisp (file)

Macro: create-vehicles FLEET-SIZE BASE-NODE TO-DEPOT &key CAPACITIES SPEEDS

Returns a list of vehicles, starting with ID 0. The starting location of their routes are all initialized at base-node. When to-depot is set to T, initialize their routes with 2 base nodes (departure and destination). For capacities and speeds, only accepts a list that is of equal lenght to fleet-size.

Package

open-vrp.util

Source

init-macros.lisp (file)

Macro: define-problem NAME FLEET-SIZE &key NODE-COORDS-LIST DEMANDS CAPACITIES TIME-WINDOWS-LIST DURATIONS SPEEDS TO-DEPOT PLOT-FILENAME LOG-FILENAME DIST-MATRIX LOG-MODE PLOTP

Creates the appropriate <Problem> object from the inputs. Extra key attributes only accept lists that are of equal length to node-coords-list or fleet-size (depending on what attributes it sets). For demands, durations, capacities and speeds, will also accept a single value, which will set all attributes to this value.

A(n asymmetric) dist-matrix may be passed, instead of node-coords, in which case plotting will be disabled. dist-matrix must be a list of lists or 2-dimensional array.

With only the demands-list and capacities, creates a CVRP problem. With time-windows, creates a VRPTW problem. When durations and speeds are not provided, defaults to 0 and 1. When plot-filename is not given, it will plot in "plots/name.png". When log-filename is not given, it will log by default in "run-logs/name.txt".

Package

open-vrp.util

Source

init-macros.lisp (file)

Macro: mac EXPR
Package

open-vrp.util

Source

simple-utils.lisp (file)

Macro: multi-run TIMES &body ALGO-CALL

Run algo x times and collect all resulting solution objects in a list.

Package

open-vrp.util

Source

solver.lisp (file)

Macro: multi-run-algo TIMES &body ALGO-CALL

Run algo x times, print multi-run-stats and return the best result.

Package

open-vrp.util

Source

solver.lisp (file)

Macro: new-node ID XCOR YCOR &key DEMAND START END DURATION
Package

open-vrp.util

Source

network.lisp (file)

Macro: new-vehicle ID BASE-NODE TO-DEPOT &key CAPACITY SPEED
Package

open-vrp.util

Source

fleet.lisp (file)

Macro: toggle PLACE
Package

open-vrp.util

Source

config-functions.lisp (file)

Macro: while TEST &body BODY
Package

open-vrp.util

Source

simple-utils.lisp (file)

Macro: with-log-or-print (STREAM PROB TIME &optional APPENDP) &body BODY

A wrapper on top of with-open-file, where we use the filepath stored in the :log-file slot of a problem object. When :log-mode is 0, return nil. If 1, use the file stream; if 2, use the T stream. Optional parameter appendp can be set to NIL in order to :supersede if file exists. By default appends. Returns T if logging is succesful. Requires universal-time, to append to log-file.

Package

open-vrp.util

Source

output.lisp (file)

Macro: with-tabu-indices TABU-INDICES FN ARG-LIST
Package

open-vrp.util

Source

list.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.3 Functions

Function: add-move-to-tabu TS MV

Adds <Move> to tabu-list of <tabu-search>. Calls function held in <ts>’s :tabu-parameter-f slot.

Package

open-vrp.algo

Source

ts-utils.lisp (file)

Function: add-to-tabu TS PARS

Add pars to the tabu-list of <tabu-search>. Expects pars to be a list when more than one parameter is recorded. When tabu-list gets larger than the tenure, will prune away the oldest pars on the list. Destructive.

Package

open-vrp.algo

Source

ts-utils.lisp (file)

Function: append-node VEH NODE

Appends <Node> to the end of the route of <vehicle>. Wrapper of insert-node. If the route includes returning to-depot, then append before the last return to depot.

Package

open-vrp.util

Source

route.lisp (file)

Function: assess-moves SOLUTION MOVES

Given a list of <Move> objects, assess them all on the solution (uses assess-move), and setf the move’s :fitness slots. Returns the list of moves.

Package

open-vrp.algo

Source

iterator.lisp (file)

Function: copy-object OBJECT

A deep-cloner for CLOS.

Package

open-vrp.util

Source

simple-utils.lisp (file)

Function: create-candidate-list TS SORTED-MOVES

Given a list of sorted moves, return the list with non-tabu improving moves. Will always at least return one (non-tabu) move.

Package

open-vrp.algo

Source

ts-utils.lisp (file)

Function: distance I J DIST-ARRAY

Read from the distance-table with two indices.

Package

open-vrp.util

Source

network.lisp (file)

Function: drawer-filename INSTANCE
Function: (setf drawer-filename) VALUE INSTANCE
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Function: drawer-legend-x INSTANCE
Function: (setf drawer-legend-x) VALUE INSTANCE
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Function: drawer-legend-y INSTANCE
Function: (setf drawer-legend-y) VALUE INSTANCE
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Function: drawer-legendp INSTANCE
Function: (setf drawer-legendp) VALUE INSTANCE
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Function: drawer-max-coord INSTANCE
Function: (setf drawer-max-coord) VALUE INSTANCE
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Function: drawer-max-pix INSTANCE
Function: (setf drawer-max-pix) VALUE INSTANCE
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Function: drawer-min-coord INSTANCE
Function: (setf drawer-min-coord) VALUE INSTANCE
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Function: drawer-plotp INSTANCE
Function: (setf drawer-plotp) VALUE INSTANCE
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Function: drawer-x-pos INSTANCE
Function: (setf drawer-x-pos) VALUE INSTANCE
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Function: drawer-y-pos INSTANCE
Function: (setf drawer-y-pos) VALUE INSTANCE
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Function: empty-routep ROUTE

Given a route, return T if the route only has base-nodes.

Package

open-vrp.util

Source

route.lisp (file)

Function: enumerate-interval N

Returns a list from 1 to n.

Package

open-vrp.util

Source

list.lisp (file)

Function: fitness-before-after SOL OPERATION

Given <Problem> object and an #’operation function that takes the <problem> as input, return the difference of fitness between after and before.

Package

open-vrp.algo

Source

iterator.lisp (file)

Function: generate-dist-array COORD-LIST

Given a list of coord pairs, generate an array of distances.

Package

open-vrp.util

Source

network.lisp (file)

Function: get-array-row ARRAY ROW-INDEX

Given a 2-dimenstional array and a row-index, return the row as a list

Package

open-vrp.util

Source

network.lisp (file)

Function: get-best-insertion-move-in-vehicle SOL VEHICLE-ID NODE-ID

Given the <solution> object, vehicle-id and node-id (integers), return the best <insertion-move> (i.e. with the lowest fitness) for inserting node-id in vehicle-id. When no move is feasible, throws error.

Package

open-vrp.algo

Source

best-insertion.lisp (file)

Function: get-best-solution-from-multi-run SOLUTIONS

Given a list of solutions (from multi-run), return the best solution.

Package

open-vrp.util

Source

solver.lisp (file)

Function: get-busy-vehicles PROBLEM

Returns a list of <Vehicles> that are not empty, given a <Problem> object.

Package

open-vrp.util

Source

route.lisp (file)

Function: get-closest-node PROB VEH-ID &optional TABU

Returns the closest node from the last location of vehicle. Requires <problem> and vehicle-ID. A tabu list of node-IDs is optional to exclude consideration of some nodes.

Package

open-vrp.algo

Source

tools.lisp (file)

Function: get-closest-vehicle N PROB

Returns the closest <vehicle> to <node>. Used by insertion heuristic. When multiple <vehicle> are on equal distance, choose first one (i.e. lowest ID).

Package

open-vrp.algo

Source

tools.lisp (file)

Function: get-max LIST &key KEY

Gets the maximum value from a list, while ignoring the NIL values.

Package

open-vrp.util

Source

list.lisp (file)

Function: get-max-index LIST &key KEY

Returns index of the largest value on list, while ignoring NIL. Returns index and its value (closest node and value).

Package

open-vrp.util

Source

list.lisp (file)

Function: get-min LIST &key KEY

Gets the minimum value from a list, while ignoring the NIL values.

Package

open-vrp.util

Source

list.lisp (file)

Function: get-min-index LIST &key KEY

Returns index of the smallest value on list, while ignoring NIL. Returns index and its value (closest node and value).

Package

open-vrp.util

Source

list.lisp (file)

Function: init-algo SOL ALGO

Given a solution, sets the :current-sol, :best-fitness and :best-sol slots of the <algo> object. Returns <algo>.

Package

open-vrp.util

Source

solver.lisp (file)

Function: insert-at-end OBJECT LIST

Appends the object at the end of the list

Package

open-vrp.util

Source

list.lisp (file)

Function: insert-before OBJECT INDEX LIST

Insert object before index of list. 0 implies inserting in front, length of list implies appending at the end. Throws index out of bounds when index is larger.

Package

open-vrp.util

Source

list.lisp (file)

Function: insert-node VEH NODE INDEX

Adds the <Node> object before the index of the route of <vehicle>. An index of 0 implies inserting in front, length of list implies at the end.

Package

open-vrp.util

Source

route.lisp (file)

Function: is-tabu-movep TS MV

Given a <Move>, checks if the parameters returned by calling :tabu-parameter-f are recorded on the list.

Package

open-vrp.algo

Source

ts-utils.lisp (file)

Function: is-tabup TS PARS

Given pars, checks if on tabu list of <tabu-search>

Package

open-vrp.algo

Source

ts-utils.lisp (file)

Function: load-solomon-vrp-file FILE

Load testcase from file, which should be Solomon style.

Package

open-vrp.util

Source

read-solomon.lisp (file)

Function: load-test-case-file FILEPATH

Given a file, will recognize the format based on some cues and dispatch to appropriate reader function to parse the file. File with .vrp extension will be read as TSPLIB.

Package

open-vrp.util

Source

read-test-case.lisp (file)

Function: load-tsplib-vrp-file FILE

Load a subset of the VRP in the TSPLIB. Do not support time windows. ###################
NAME: xxxx
...
DIMENSION: xxx
...
EDGE_WEIGHT_FORMAT: FUNCTION
...
EDGE_WEIGHT_TYPE: EXACT_2D
CAPACITY: xxx
...
NODE_COORD_SECTION
....
DEPOT_SECTION
1
-1
EOF
####################
EDGE_WEIGHT_FORMAT and EDGE_WEIGHT_TYPE are optional

Package

open-vrp.util

Source

read-cvrp.lisp (file)

Function: make-drawer &key (MIN-COORD MIN-COORD) (MAX-COORD MAX-COORD) (X-POS X-POS) (Y-POS Y-POS) (MAX-PIX MAX-PIX) (LEGENDP LEGENDP) (LEGEND-X LEGEND-X) (LEGEND-Y LEGEND-Y) (FILENAME FILENAME) (PLOTP PLOTP)
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Function: make-insertion-move &key (FITNESS FITNESS) (NODE-ID NODE-ID) (VEHICLE-ID VEHICLE-ID) (INDEX INDEX)
Package

open-vrp.algo

Source

tools.lisp (file)

Function: make-node &key (ID ID) (XCOR XCOR) (YCOR YCOR) (DEMAND DEMAND) (START START) (END END) (DURATION DURATION)
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Function: make-ts-best-insertion-move &key (FITNESS FITNESS) (NODE-ID NODE-ID) (VEHICLE-ID VEHICLE-ID) (INDEX INDEX)
Package

open-vrp.algo

Source

ts-classdef.lisp (file)

Function: make-vehicle &key (ID ID) (ROUTE ROUTE) (CAPACITY CAPACITY) (SPEED SPEED)
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Function: map0-n FN N

maps from 0 to n

Package

open-vrp.util

Source

simple-utils.lisp (file)

Function: map1-n FN N

maps from 1 to n

Package

open-vrp.util

Source

simple-utils.lisp (file)

Function: max-car LIST

Provided a list, return the maximum value considering the cars

Package

open-vrp.util

Source

simple-utils.lisp (file)

Function: max-cdr LIST

Provided a list, return the maximum value considering the cdrs

Package

open-vrp.util

Source

simple-utils.lisp (file)

Function: move-fitness INSTANCE
Function: (setf move-fitness) VALUE INSTANCE
Package

open-vrp.algo

Source

tools.lisp (file)

Function: move-index INSTANCE
Function: (setf move-index) VALUE INSTANCE
Package

open-vrp.algo

Source

tools.lisp (file)

Function: move-node-id INSTANCE
Function: (setf move-node-id) VALUE INSTANCE
Package

open-vrp.algo

Source

tools.lisp (file)

Function: move-vehicle-id INSTANCE
Function: (setf move-vehicle-id) VALUE INSTANCE
Package

open-vrp.algo

Source

tools.lisp (file)

Function: node-demand INSTANCE
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Function: node-distance N1 N2

Given two node objects, calculate and return their distance (Cartesian).

Package

open-vrp.util

Source

network.lisp (file)

Function: node-duration INSTANCE
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Function: node-end INSTANCE
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Function: node-id INSTANCE
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Function: node-on-routep NODE-ID VEHICLE

Returns NIL of <vehicle> does not have the node on its route.

Package

open-vrp.util

Source

fleet.lisp (file)

Function: node-start INSTANCE
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Function: node-xcor INSTANCE
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Function: node-ycor INSTANCE
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Function: one-destinationp ROUTE

Return T if there is only one destination on route, excluding base nodes.

Package

open-vrp.util

Source

route.lisp (file)

Function: print-final-results PROB ALGO &optional STREAM

Prints final results of run, helper function to :after methods of run-algo and solve-prob.

Package

open-vrp.util

Source

output.lisp (file)

Function: print-multi-run-stats ALGO-OBJECTS &optional STR

Given a list of algo-objects returned by multi-run, print run-stats.

Package

open-vrp.util

Source

output.lisp (file)

Function: print-timestamp &optional STREAM

Prints timestamp to stream, source from cl-cookbook.

Package

open-vrp.util

Source

output.lisp (file)

Function: print-vrp-object OBJECT &optional STREAM

Given object, will print it’s object’s slots and values

Package

open-vrp.util

Source

output.lisp (file)

Function: random-list-permutation LENGTH

Randomly creates a permutation from 1 to length.

Package

open-vrp.util

Source

list.lisp (file)

Function: remove-index INDEX LIST

Given a list, remove the object on index. Does not accept index out of bounds. Returns the new list AND the object that was removed.

Package

open-vrp.util

Source

list.lisp (file)

Function: remove-node-at VEH INDEX

Removes the <node> from the route of <vehicle> at index

Package

open-vrp.util

Source

route.lisp (file)

Function: set-dist-array PROBLEM DIST-ARRAY

Given a <problem> and a 2-dimensional list or array in dist-array, set it in <problem>

Package

open-vrp.util

Source

config-functions.lisp (file)

Function: set-log-file PROB PATH

Sets the output location of the log-file.

Package

open-vrp.util

Source

config-functions.lisp (file)

Function: set-log-mode PROB X

Sets log-mode: 0 for no log, 1 for log to log-file, 2 for REPL log.

Package

open-vrp.util

Source

config-functions.lisp (file)

Function: set-plot-file PROB PATH

Sets the plot output file location.

Package

open-vrp.util

Source

config-functions.lisp (file)

Function: single LST
Package

open-vrp.util

Source

simple-utils.lisp (file)

Function: sort-ignore-nil LIST PREDICATE &key KEY

Sorts the sequence with #’< or #’> while passing all NIL values towards the end of result.

Package

open-vrp.util

Source

list.lisp (file)

Function: sort-moves MOVES

Given a list of <Move>s, sort them according to fitness (ascending). Undestructive.

Package

open-vrp.algo

Source

iterator.lisp (file)

Function: sum LIST

A quick list summer, 4 times as fast as (reduce #’+ list)

Package

open-vrp.util

Source

simple-utils.lisp (file)

Function: time-after-serving-node NODE ARRIVAL-TIME

Given a node to serve and the current time, return the new time (if on-time to begin with). When arrival-time is too early, wait till earliest start time.

Package

open-vrp.util

Source

constraints.lisp (file)

Function: toggle-animate ALGO

Toggles animation, which means plotting every iteration in run-frames/ folder

Package

open-vrp.util

Source

config-functions.lisp (file)

Function: toggle-aspiration TS
Package

open-vrp.algo

Source

ts-utils.lisp (file)

Function: toggle-elite-list TS
Package

open-vrp.algo

Source

ts-utils.lisp (file)

Function: travel-time N1 N2 &key DIST-ARRAY SPEED

Given two <nodes> and optional speed, return the travel-time. When dist-array is not provided, calculate distance directly using coords.

Package

open-vrp.util

Source

constraints.lisp (file)

Function: veh-in-timep V &optional DIST-ARRAY

Tests weather the route on <Vehicle> is complying with the time-window constraints. Returns T and the time of finishing its last task.

Package

open-vrp.util

Source

constraints.lisp (file)

Function: vehicle-capacity INSTANCE
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Function: vehicle-id INSTANCE
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Function: vehicle-route INSTANCE
Function: (setf vehicle-route) VALUE INSTANCE
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Function: vehicle-speed INSTANCE
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Function: vehicle-with-node-id PROB NODE-ID

Given a node-ID, return the vehicle-ID that has the node in its route. The function for the input of the base-node 0 is undefined. Returns NIL if node-ID cannot be found.

Package

open-vrp.util

Source

fleet.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.4 Generic functions

Generic Function: algo-animatep OBJECT
Generic Function: (setf algo-animatep) NEW-VALUE OBJECT
Package

open-vrp.classes

Methods
Method: algo-animatep (ALGO algo)

automatically generated reader method

Source

class-definitions.lisp (file)

Method: (setf algo-animatep) NEW-VALUE (ALGO algo)

automatically generated writer method

Source

class-definitions.lisp (file)

Generic Function: algo-best-fitness OBJECT
Generic Function: (setf algo-best-fitness) NEW-VALUE OBJECT
Package

open-vrp.classes

Methods
Method: algo-best-fitness (ALGO algo)

automatically generated reader method

Source

class-definitions.lisp (file)

Method: (setf algo-best-fitness) NEW-VALUE (ALGO algo)

automatically generated writer method

Source

class-definitions.lisp (file)

Generic Function: algo-best-iteration OBJECT
Generic Function: (setf algo-best-iteration) NEW-VALUE OBJECT
Package

open-vrp.classes

Methods
Method: algo-best-iteration (ALGO algo)

automatically generated reader method

Source

class-definitions.lisp (file)

Method: (setf algo-best-iteration) NEW-VALUE (ALGO algo)

automatically generated writer method

Source

class-definitions.lisp (file)

Generic Function: algo-best-sol OBJECT
Generic Function: (setf algo-best-sol) NEW-VALUE OBJECT
Package

open-vrp.classes

Methods
Method: algo-best-sol (ALGO algo)

automatically generated reader method

Source

class-definitions.lisp (file)

Method: (setf algo-best-sol) NEW-VALUE (ALGO algo)

automatically generated writer method

Source

class-definitions.lisp (file)

Generic Function: algo-current-sol OBJECT
Generic Function: (setf algo-current-sol) NEW-VALUE OBJECT
Package

open-vrp.classes

Methods
Method: algo-current-sol (ALGO algo)

automatically generated reader method

Source

class-definitions.lisp (file)

Method: (setf algo-current-sol) NEW-VALUE (ALGO algo)

automatically generated writer method

Source

class-definitions.lisp (file)

Generic Function: algo-desc OBJECT
Package

open-vrp.classes

Methods
Method: algo-desc (ALGO algo)

automatically generated reader method

Source

class-definitions.lisp (file)

Generic Function: algo-iterations OBJECT
Generic Function: (setf algo-iterations) NEW-VALUE OBJECT
Package

open-vrp.classes

Methods
Method: algo-iterations (ALGO algo)

automatically generated reader method

Source

class-definitions.lisp (file)

Method: (setf algo-iterations) NEW-VALUE (ALGO algo)

automatically generated writer method

Source

class-definitions.lisp (file)

Generic Function: algo-name OBJECT
Package

open-vrp.classes

Methods
Method: algo-name (ALGO algo)

automatically generated reader method

Source

class-definitions.lisp (file)

Generic Function: assess-move SOL MOVE

The <Move> is assessed by calculating the fitness of solution before, and after. The fitness is the difference and is stored in the :fitness slot of the <Move> object.

Package

open-vrp.algo

Source

iterator.lisp (file)

Methods
Method: assess-move (SOL problem) (MV ts-best-insertion-move)
Source

ts.lisp (file)

Method: assess-move (SOL problem) (M insertion-move)
Source

best-insertion.lisp (file)

Method: assess-move (SOL problem) (M move) around
Method: assess-move (SOL problem) (M move)

Assesses the effect on fitness when <move> is performed on <problem> (on a clone - undestructive).

Method: assess-move SOL MOVE
Generic Function: constraintsp PROB

Tests weather the solution in the <problem> is complying with the constraints. If the problem is a CVRP, check for capacity. If it is a VRPTW, check for time-windows. For CVRPTW, that inherits from both classes, check both constraints.

Package

open-vrp.util

Source

constraints.lisp (file)

Method Combination

and (short method combination)

Options: :most-specific-first

Methods
Method: constraintsp (SOL vrptw) and
Method: constraintsp (SOL cvrp) and
Method: constraintsp (PROB problem) and
Generic Function: feasible-movep SOL MOVE

Given a current solution, assess feasibility of the <Move>. For CVRP, just check if it fits in the total vehicle capacity. For VRPTW, check for TW feasibility of the whole route. For CVRPTW, checks both by means of multiple-inheritance and method-combination.

Package

open-vrp.algo

Source

tools.lisp (file)

Method Combination

and (short method combination)

Options: :most-specific-first

Methods
Method: feasible-movep (SOL vrptw) (M insertion-move) and
Method: feasible-movep (SOL cvrp) (M insertion-move) and
Method: feasible-movep (SOL problem) (M move) and
Generic Function: fitness PROBLEM

The generic fitness function. To be defined for each class of <problem> specifically. This function allows for custom fitness-functions for your own defined <problem> classess. The default fitness function is total distance.

Package

open-vrp.util

Source

fitness.lisp (file)

Methods
Method: fitness (PROB problem)
Method: fitness PROBLEM
Generic Function: generate-moves ALGO

Given the algo object, that contains the current solution, generate potential <moves> for next iteration as defined by the algo. e.g. insertion moves for TS and chromosome pool for GA.

Package

open-vrp.algo

Source

iterator.lisp (file)

Methods
Method: generate-moves (TS tabu-search)

Generates a list of <move> instances (depending on what was defined in the ts slot) for all nodes and vehicles.

Source

ts.lisp (file)

Method: generate-moves ALGO
Generic Function: get-best-insertion-move PROB NODE

Given a node and a solution (that does not have this node yet), return the best <insertion-move>.

Package

open-vrp.algo

Source

best-insertion.lisp (file)

Methods
Method: get-best-insertion-move (SOL problem) (N node)
Method: get-best-insertion-move PROB NODE
Generic Function: get-closest-feasible-vehicle N PROB
Package

open-vrp.algo

Methods
Method: get-closest-feasible-vehicle (N node) (PROB vrptw)

Returns the vehicle closest to the node that has enough time at the end of its route. Used for appending nodes. Use get-optimal-insertion instead for inserting feasibly into routes.

Source

tools.lisp (file)

Method: get-closest-feasible-vehicle (N node) (PROB cvrp)

Returns the vehicle closest to the node and has enough capacity.

Source

tools.lisp (file)

Method: get-closest-feasible-vehicle (N node) (PROB problem)
Source

tools.lisp (file)

Generic Function: in-capacityp VEH/CVRP

Tests weather the route on <vehicle> is complying with the capacity constraint. Returns T and the remaining capacity if it does. When <CVRP> is provided, test all vehicles.

Package

open-vrp.util

Source

constraints.lisp (file)

Methods
Method: in-capacityp (PR cvrp)
Method: in-capacityp (V vehicle)
Method: in-capacityp OBJ
Generic Function: in-timep PR
Package

open-vrp.util

Methods
Method: in-timep (PR vrptw)
Source

constraints.lisp (file)

Generic Function: initialize PROBLEM ALGO

Initializes the initial solution for the algo object.

Package

open-vrp.algo

Source

iterator.lisp (file)

Methods
Method: initialize (PROB problem) (TS tabu-search)

Creates inital solution and sets it to :algo-current-sol. Returns the <tabu-search> object. For Tabu Search, the default heuristic for generating an initial solution is ’greedy-best-insertion, which is read from the slot :init-heur.

Source

ts.lisp (file)

Method: initialize PROBLEM ALGO
Generic Function: iterate ALGO

Runs the algo one iteration. Implementation of this method should use the algo’s slot current-sol as current solution and destructively adjust it to a new solution. When algo’s slot iterations is 0, then print the best solution found by this algo object. Returns the <algo> object. After each iterate, will automatically check if a new best solution has been found and adjust the :best-sol and :best-fitness slots for you. When :animatep is set to T, will plot current solution in run-frames/

Package

open-vrp.util

Source

solver.lisp (file)

Methods
Method: iterate (TS tabu-search) around
Source

ts.lisp (file)

Method: iterate (TS tabu-search)
Source

ts.lisp (file)

Method: iterate (A algo) after
Method: iterate (A algo) around
Method: iterate ALGO
Generic Function: iterate-more ALGO INT

When an algo finished (i.e. iterations = 0) using iterate-more allows you to keep running it x more iterations. Also resets :best-iteration, which the stopping condition uses. Calls run-algo on the :current-sol of and with <algo>.

Package

open-vrp.util

Source

solver.lisp (file)

Methods
Method: iterate-more (A algo) INT after
Method: iterate-more (A algo) INT
Method: iterate-more ALGO INT
Generic Function: last-node VEHICLE

Returns the last <node> in its route. Depicts the current location (before returning to base).

Package

open-vrp.util

Source

route.lisp (file)

Methods
Method: last-node (V vehicle)
Method: last-node ROUTE
Generic Function: log-to-replp PROB/ALGO

Returns T if :log-mode is set to 2, which is REPL.

Package

open-vrp.util

Source

output.lisp (file)

Methods
Method: log-to-replp (A algo)
Method: log-to-replp (P problem)
Generic Function: node PROB ID
Package

open-vrp.classes

Methods
Method: node (PROB problem) ID
Source

network.lisp (file)

Generic Function: perform-move SOL MOVE

Performs the move defined in <move> on the solution. Returns the new solution (which is a class of <Problem>)

Package

open-vrp.algo

Source

iterator.lisp (file)

Methods
Method: perform-move (SOL problem) (MV ts-best-insertion-move)

Takes <Node> with node-ID and uses get-best-insertion to insert in vehicle-ID. DESTRUCTIVE.

Source

ts.lisp (file)

Method: perform-move (PROB problem) (MV insertion-move) after
Source

best-insertion.lisp (file)

Method: perform-move (SOL problem) (M insertion-move)

Performs the <move> on <problem>.

Source

best-insertion.lisp (file)

Method: perform-move SOL MOVE
Generic Function: plot-nodes PROBLEM

Draws only the nodes in output file.

Package

open-vrp.util

Source

draw-solution.lisp (file)

Methods
Method: plot-nodes (PROB problem)
Method: plot-nodes PROBLEM
Generic Function: plot-solution PROBLEM/ALGO &optional OUTPUT-FILE

Given a solution object (<problem>/<algo>), draw the solution in output file given in the drawer object’s :filename slot (which is held in problem-drawer slot). When <algo> object as input, draw the best found solution by that algo object.

Package

open-vrp.util

Source

draw-solution.lisp (file)

Methods
Method: plot-solution (A algo) &optional OUTPUT-FILE
Method: plot-solution (SOL problem) &optional OUTPUT-FILE
Generic Function: print-routes PROB/ALGO &optional STREAM

Prints solution given a <problem>/<algo> object. Also prints the total distance when the input is a <problem>/<algo> object.

Package

open-vrp.util

Source

output.lisp (file)

Methods
Method: print-routes (A algo) &optional STREAM
Method: print-routes (PROB problem) &optional STREAM
Generic Function: problem-desc OBJECT
Package

open-vrp.classes

Methods
Method: problem-desc (PROBLEM problem)

automatically generated reader method

Source

class-definitions.lisp (file)

Generic Function: problem-dist-array OBJECT
Generic Function: (setf problem-dist-array) NEW-VALUE OBJECT
Package

open-vrp.classes

Methods
Method: problem-dist-array (PROBLEM problem)

automatically generated reader method

Source

class-definitions.lisp (file)

Method: (setf problem-dist-array) NEW-VALUE (PROBLEM problem)

automatically generated writer method

Source

class-definitions.lisp (file)

Generic Function: problem-drawer OBJECT
Generic Function: (setf problem-drawer) NEW-VALUE OBJECT
Package

open-vrp.classes

Methods
Method: problem-drawer (PROBLEM problem)

automatically generated reader method

Source

class-definitions.lisp (file)

Method: (setf problem-drawer) NEW-VALUE (PROBLEM problem)

automatically generated writer method

Source

class-definitions.lisp (file)

Generic Function: problem-fleet OBJECT
Package

open-vrp.classes

Methods
Method: problem-fleet (PROBLEM problem)

automatically generated reader method

Source

class-definitions.lisp (file)

Generic Function: problem-log-file OBJECT
Generic Function: (setf problem-log-file) NEW-VALUE OBJECT
Package

open-vrp.classes

Methods
Method: problem-log-file (PROBLEM problem)

automatically generated reader method

Source

class-definitions.lisp (file)

Method: (setf problem-log-file) NEW-VALUE (PROBLEM problem)

automatically generated writer method

Source

class-definitions.lisp (file)

Generic Function: problem-log-mode OBJECT
Generic Function: (setf problem-log-mode) NEW-VALUE OBJECT
Package

open-vrp.classes

Methods
Method: problem-log-mode (PROBLEM problem)

automatically generated reader method

Source

class-definitions.lisp (file)

Method: (setf problem-log-mode) NEW-VALUE (PROBLEM problem)

automatically generated writer method

Source

class-definitions.lisp (file)

Generic Function: problem-name OBJECT
Package

open-vrp.classes

Methods
Method: problem-name (PROBLEM problem)

automatically generated reader method

Source

class-definitions.lisp (file)

Generic Function: problem-network OBJECT
Package

open-vrp.classes

Methods
Method: problem-network (PROBLEM problem)

automatically generated reader method

Source

class-definitions.lisp (file)

Generic Function: problem-to-depot OBJECT
Generic Function: (setf problem-to-depot) NEW-VALUE OBJECT
Package

open-vrp.classes

Methods
Method: problem-to-depot (PROBLEM problem)

automatically generated reader method

Source

class-definitions.lisp (file)

Method: (setf problem-to-depot) NEW-VALUE (PROBLEM problem)

automatically generated writer method

Source

class-definitions.lisp (file)

Generic Function: remove-node-id VEH/PROB NODE-ID

Removes the <node> with node-ID from the route of <vehicle>. Returns NIL if failed to find node-ID.

Package

open-vrp.util

Source

route.lisp (file)

Methods
Method: remove-node-id (PROB problem) NODE-ID
Method: remove-node-id (V vehicle) NODE-ID
Method: remove-node-id VEHICLE NODE-ID
Generic Function: route-indices OBJ

When input is a <vehicle>, returns its route as a list of node IDs. When input is <fleet>/<problem>, list all routes.

Package

open-vrp.util

Source

fleet.lisp (file)

Methods
Method: route-indices (P problem)
Method: route-indices (V vehicle)
Method: route-indices VEHICLE
Generic Function: run-algo PROBLEM ALGO

Runs the algo on the problem. Destructive - will have side-effects on the <problem> and <algo> objects. Use solve-prob to prevent <problem> object being touched. Will return the <Algo> object, which will contain the solution (in the form of a copy of the <problem> object) in the :best-sol slot. When defining your own algorithms, make sure to implement a run-algo method for your algo, which sets the <algo> slots appropriately, and returns the <algo> object. For algorithms that just build a solution (like greedy-best-insertion or greedy-append), you can use init-algo to set :current-sol, :best-sol, :best-fitness simultaneously. For search algorithms – such as local search, population based algorithms – may make use of the iterate method to automatically set the slots after each iteration.

Package

open-vrp.util

Source

solver.lisp (file)

Methods
Method: run-algo (PROB problem) (TS tabu-search)

Initialize (if necessary), iterate till finished. Returns <Algo> object.

Source

ts.lisp (file)

Method: run-algo (P problem) (A greedy-best-insertion)

Randomly insert <Nodes> one by one to best <vehicle> in best location. Returns <Algo> object when done.

Source

greedy-best-insertion.lisp (file)

Method: run-algo (P problem) (A greedy-append)

Randomly append <Nodes> one by one to the closest <Vehicle>. Returns <Algo> object when done. Also prints the fitness and solution.

Source

greedy-append.lisp (file)

Method: run-algo (P problem) (A greedy-nn)

While there exists unchosen nodes, keep appending it. Returns the <Algo> object when done. Also prints the fitness and solution (run-algo :after method).

Source

greedy-nn.lisp (file)

Method: run-algo (P problem) (A algo) after
Method: run-algo (P problem) (A algo) around
Method: run-algo PROBLEM ALGO
Generic Function: select-move ALGO MOVES

Given an <Algo> object and the list of <Moves>, select a move. By default, sort the moves and select the best one, but e.g. for tabu-search, check first of the <Move> is tabu.

Package

open-vrp.algo

Source

iterator.lisp (file)

Methods
Method: select-move (TS tabu-search) ALL-MOVES

This function selects best non-tabu move from a list of assessed moves. When aspiration criteria is set to T, then if by performing the move we get a new best solution, circumvent the tabu-list.

Source

ts.lisp (file)

Method: select-move (A algo) MOVES
Method: select-move ALGO MOVES
Generic Function: solve-prob PROBLEM ALGO

Solves the problem with the algo. Uses run-algo, but leaves the <problem> object untouched (<Algo> will suffer side-effects). Works with a clone (copy-object in lib/simple-utils.lisp). NON-destructive wrapper to the run-algo method.

Package

open-vrp.util

Source

solver.lisp (file)

Methods
Method: solve-prob (P problem) (A algo) after
Method: solve-prob (P problem) (A algo) before
Method: solve-prob (PROBLEM problem) (ALGO algo)
Method: solve-prob PROBLEM ALGO
Generic Function: tabu-list CONDITION
Package

open-vrp.algo

Methods
Method: tabu-list (CONDITION all-moves-tabu)
Source

algo-conditions.lisp (file)

Generic Function: toggle-legend PROBLEM/ALGO

Toggles legend drawing. When <Algo> is provided, toggles :best-sol

Package

open-vrp.util

Source

config-functions.lisp (file)

Methods
Method: toggle-legend (A algo)
Method: toggle-legend (PR problem)
Generic Function: toggle-plot PROBLEM/ALGO

Toggles plotting on/off of best solution. Config boolean is held by <Drawer> object’s plotp slot.

Package

open-vrp.util

Source

config-functions.lisp (file)

Methods
Method: toggle-plot (A algo)
Method: toggle-plot (PR problem)
Generic Function: total-dist VEH/PROB DIST-ARRAY

Returns total distance of the route(s) given a vehicle or a fleet.

Package

open-vrp.util

Source

fleet.lisp (file)

Methods
Method: total-dist (P problem) DIST-ARRAY
Method: total-dist (V vehicle) DIST-ARRAY
Method: total-dist VEH/PROB DIST-ARRAY
Generic Function: ts-aspirationp OBJECT
Generic Function: (setf ts-aspirationp) NEW-VALUE OBJECT
Package

open-vrp.algo

Methods
Method: ts-aspirationp (TABU-SEARCH tabu-search)

automatically generated reader method

Source

ts-classdef.lisp (file)

Method: (setf ts-aspirationp) NEW-VALUE (TABU-SEARCH tabu-search)

automatically generated writer method

Source

ts-classdef.lisp (file)

Generic Function: ts-candidate-list OBJECT
Generic Function: (setf ts-candidate-list) NEW-VALUE OBJECT
Package

open-vrp.algo

Methods
Method: ts-candidate-list (TABU-SEARCH tabu-search)

automatically generated reader method

Source

ts-classdef.lisp (file)

Method: (setf ts-candidate-list) NEW-VALUE (TABU-SEARCH tabu-search)

automatically generated writer method

Source

ts-classdef.lisp (file)

Generic Function: ts-elite-listp OBJECT
Generic Function: (setf ts-elite-listp) NEW-VALUE OBJECT
Package

open-vrp.algo

Methods
Method: ts-elite-listp (TABU-SEARCH tabu-search)

automatically generated reader method

Source

ts-classdef.lisp (file)

Method: (setf ts-elite-listp) NEW-VALUE (TABU-SEARCH tabu-search)

automatically generated writer method

Source

ts-classdef.lisp (file)

Generic Function: ts-init-heur OBJECT
Generic Function: (setf ts-init-heur) NEW-VALUE OBJECT
Package

open-vrp.algo

Methods
Method: ts-init-heur (TABU-SEARCH tabu-search)

automatically generated reader method

Source

ts-classdef.lisp (file)

Method: (setf ts-init-heur) NEW-VALUE (TABU-SEARCH tabu-search)

automatically generated writer method

Source

ts-classdef.lisp (file)

Generic Function: ts-move-type OBJECT
Generic Function: (setf ts-move-type) NEW-VALUE OBJECT
Package

open-vrp.algo

Methods
Method: ts-move-type (TABU-SEARCH tabu-search)

automatically generated reader method

Source

ts-classdef.lisp (file)

Method: (setf ts-move-type) NEW-VALUE (TABU-SEARCH tabu-search)

automatically generated writer method

Source

ts-classdef.lisp (file)

Generic Function: ts-parameter-f OBJECT
Generic Function: (setf ts-parameter-f) NEW-VALUE OBJECT
Package

open-vrp.algo

Methods
Method: ts-parameter-f (TABU-SEARCH tabu-search)

automatically generated reader method

Source

ts-classdef.lisp (file)

Method: (setf ts-parameter-f) NEW-VALUE (TABU-SEARCH tabu-search)

automatically generated writer method

Source

ts-classdef.lisp (file)

Generic Function: ts-stopping-condition OBJECT
Generic Function: (setf ts-stopping-condition) NEW-VALUE OBJECT
Package

open-vrp.algo

Methods
Method: ts-stopping-condition (TABU-SEARCH tabu-search)

automatically generated reader method

Source

ts-classdef.lisp (file)

Method: (setf ts-stopping-condition) NEW-VALUE (TABU-SEARCH tabu-search)

automatically generated writer method

Source

ts-classdef.lisp (file)

Generic Function: ts-tabu-list OBJECT
Generic Function: (setf ts-tabu-list) NEW-VALUE OBJECT
Package

open-vrp.algo

Methods
Method: ts-tabu-list (TABU-SEARCH tabu-search)

automatically generated reader method

Source

ts-classdef.lisp (file)

Method: (setf ts-tabu-list) NEW-VALUE (TABU-SEARCH tabu-search)

automatically generated writer method

Source

ts-classdef.lisp (file)

Generic Function: ts-tenure OBJECT
Generic Function: (setf ts-tenure) NEW-VALUE OBJECT
Package

open-vrp.algo

Methods
Method: ts-tenure (TABU-SEARCH tabu-search)

automatically generated reader method

Source

ts-classdef.lisp (file)

Method: (setf ts-tenure) NEW-VALUE (TABU-SEARCH tabu-search)

automatically generated writer method

Source

ts-classdef.lisp (file)

Generic Function: vehicle P ID
Package

open-vrp.classes

Methods
Method: vehicle (P problem) ID
Source

fleet.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.5 Conditions

Condition: list-of-nils ()
Package

open-vrp.util

Source

conditions.lisp (file)

Direct superclasses

error (condition)

Direct methods
  • key (method)
  • ls (method)
Direct slots
Slot: ls
Initargs

:ls

Readers

ls (generic function)

Slot: key
Initargs

:key

Readers

key (generic function)

Condition: same-origin-destination ()
Package

open-vrp.util

Source

conditions.lisp (file)

Direct superclasses

error (condition)

Direct methods
Direct slots
Slot: from
Initargs

:from

Readers

from (generic function)

Slot: to
Initargs

:to

Readers

to (generic function)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.6 Structures

Structure: drawer ()
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: min-coord
Readers

drawer-min-coord (function)

Writers

(setf drawer-min-coord) (function)

Slot: max-coord
Readers

drawer-max-coord (function)

Writers

(setf drawer-max-coord) (function)

Slot: x-pos
Initform

0

Readers

drawer-x-pos (function)

Writers

(setf drawer-x-pos) (function)

Slot: y-pos
Initform

0

Readers

drawer-y-pos (function)

Writers

(setf drawer-y-pos) (function)

Slot: max-pix
Initform

1000

Readers

drawer-max-pix (function)

Writers

(setf drawer-max-pix) (function)

Slot: legendp
Initform

t

Readers

drawer-legendp (function)

Writers

(setf drawer-legendp) (function)

Slot: legend-x
Initform

100

Readers

drawer-legend-x (function)

Writers

(setf drawer-legend-x) (function)

Slot: legend-y
Initform

900

Readers

drawer-legend-y (function)

Writers

(setf drawer-legend-y) (function)

Slot: filename
Readers

drawer-filename (function)

Writers

(setf drawer-filename) (function)

Slot: plotp
Readers

drawer-plotp (function)

Writers

(setf drawer-plotp) (function)

Structure: insertion-move ()
Package

open-vrp.algo

Source

tools.lisp (file)

Direct superclasses

move (structure)

Direct subclasses

ts-best-insertion-move (structure)

Direct methods
Direct slots
Slot: node-id
Readers

move-node-id (function)

Writers

(setf move-node-id) (function)

Slot: vehicle-id
Readers

move-vehicle-id (function)

Writers

(setf move-vehicle-id) (function)

Slot: index
Readers

move-index (function)

Writers

(setf move-index) (function)

Structure: move ()
Package

open-vrp.algo

Source

tools.lisp (file)

Direct superclasses

structure-object (structure)

Direct subclasses

insertion-move (structure)

Direct methods
Direct slots
Slot: fitness
Readers

move-fitness (function)

Writers

(setf move-fitness) (function)

Structure: node ()
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Direct superclasses

structure-object (structure)

Direct methods
Direct slots
Slot: id
Type

fixnum

Initform

0

Readers

node-id (function)

Writers

(setf node-id) (function)

Slot: xcor
Initform

0

Readers

node-xcor (function)

Writers

(setf node-xcor) (function)

Slot: ycor
Initform

0

Readers

node-ycor (function)

Writers

(setf node-ycor) (function)

Slot: demand
Type

fixnum

Initform

0

Readers

node-demand (function)

Writers

(setf node-demand) (function)

Slot: start
Type

fixnum

Initform

0

Readers

node-start (function)

Writers

(setf node-start) (function)

Slot: end
Type

fixnum

Initform

0

Readers

node-end (function)

Writers

(setf node-end) (function)

Slot: duration
Type

fixnum

Initform

0

Readers

node-duration (function)

Writers

(setf node-duration) (function)

Structure: ts-best-insertion-move ()
Package

open-vrp.algo

Source

ts-classdef.lisp (file)

Direct superclasses

insertion-move (structure)

Direct methods
Structure: vehicle ()
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Direct superclasses

structure-object (structure)

Direct methods
Direct slots
Slot: id
Type

fixnum

Initform

0

Readers

vehicle-id (function)

Writers

(setf vehicle-id) (function)

Slot: route
Readers

vehicle-route (function)

Writers

(setf vehicle-route) (function)

Slot: capacity
Type

fixnum

Initform

0

Readers

vehicle-capacity (function)

Writers

(setf vehicle-capacity) (function)

Slot: speed
Initform

1

Readers

vehicle-speed (function)

Writers

(setf vehicle-speed) (function)


Previous: , Up: Exported definitions   [Contents][Index]

6.1.7 Classes

Class: algo ()
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses
Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

algo-name (generic function)

Slot: desc
Allocation

:class

Initargs

:desc

Readers

algo-desc (generic function)

Slot: best-sol
Initargs

:best-sol

Readers

algo-best-sol (generic function)

Writers

(setf algo-best-sol) (generic function)

Slot: best-fitness
Initargs

:best-fitness

Readers

algo-best-fitness (generic function)

Writers

(setf algo-best-fitness) (generic function)

Slot: best-iteration
Initform

0

Readers

algo-best-iteration (generic function)

Writers

(setf algo-best-iteration) (generic function)

Slot: current-sol
Initargs

:current-sol

Readers

algo-current-sol (generic function)

Writers

(setf algo-current-sol) (generic function)

Slot: iterations
Initargs

:iterations

Readers

algo-iterations (generic function)

Writers

(setf algo-iterations) (generic function)

Slot: animatep
Initargs

:animatep

Readers

algo-animatep (generic function)

Writers

(setf algo-animatep) (generic function)

Class: cvrp ()
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Direct superclasses

problem (class)

Direct subclasses

cvrptw (class)

Direct methods
Direct slots
Slot: name
Initform

"cvrp"

Slot: desc
Initform

"capacitated vehicle routing problem"

Class: cvrptw ()
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Direct superclasses
Direct slots
Slot: name
Initform

"cvrptw"

Slot: desc
Initform

"capacitated vehicle routing problem with time windows"

Class: greedy-append ()
Package

open-vrp.algo

Source

greedy-append.lisp (file)

Direct superclasses

algo (class)

Direct methods

run-algo (method)

Direct slots
Slot: name
Initform

"greedy appending heuristic"

Slot: desc
Initform

"random greedy insertion heuristic; append nodes to closest vehicle successively. used as initial solution for search algos."

Class: greedy-best-insertion ()
Package

open-vrp.algo

Source

greedy-best-insertion.lisp (file)

Direct superclasses

algo (class)

Direct methods

run-algo (method)

Direct slots
Slot: name
Initform

"greedy best insertion heuristic"

Slot: desc
Initform

"randomly insert nodes one by one to best vehicle at best location. used as initial solution for search algos."

Class: greedy-nn ()
Package

open-vrp.algo

Source

greedy-nn.lisp (file)

Direct superclasses

algo (class)

Direct methods

run-algo (method)

Direct slots
Slot: name
Initform

"greedy nn-algo"

Slot: desc
Initform

"nearest neighborhood algo; from base/random, select next closest one"

Class: problem ()
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses
Direct methods
Direct slots
Slot: name
Initargs

:name

Initform

"vrp"

Readers

problem-name (generic function)

Slot: desc
Allocation

:class

Initargs

:desc

Initform

"vehicle routing problem"

Readers

problem-desc (generic function)

Slot: network
Initargs

:network

Readers

problem-network (generic function)

Slot: dist-array
Initargs

:dist-array

Readers

problem-dist-array (generic function)

Writers

(setf problem-dist-array) (generic function)

Slot: fleet
Initargs

:fleet

Readers

problem-fleet (generic function)

Slot: to-depot
Initargs

:to-depot

Initform

t

Readers

problem-to-depot (generic function)

Writers

(setf problem-to-depot) (generic function)

Slot: drawer
Initargs

:drawer

Readers

problem-drawer (generic function)

Writers

(setf problem-drawer) (generic function)

Slot: log-file
Initargs

:log-file

Readers

problem-log-file (generic function)

Writers

(setf problem-log-file) (generic function)

Slot: log-mode
Initargs

:log-mode

Initform

1

Readers

problem-log-mode (generic function)

Writers

(setf problem-log-mode) (generic function)

Class: tabu-search ()
Package

open-vrp.algo

Source

ts-classdef.lisp (file)

Direct superclasses

algo (class)

Direct methods
Direct slots
Slot: name
Initform

"tabu search"

Slot: desc
Initform

"a local search that escapes local optima by means of declaring certain moves tabu."

Slot: move-type
Initargs

:move-type

Initform

(quote open-vrp.algo:ts-best-insertion-move)

Readers

ts-move-type (generic function)

Writers

(setf ts-move-type) (generic function)

Slot: init-heur
Initargs

:init-heur

Initform

(quote open-vrp.algo:greedy-best-insertion)

Readers

ts-init-heur (generic function)

Writers

(setf ts-init-heur) (generic function)

Slot: iterations
Initform

20

Slot: aspirationp
Initargs

:aspirationp

Initform

t

Readers

ts-aspirationp (generic function)

Writers

(setf ts-aspirationp) (generic function)

Slot: elite-listp
Initargs

:elite-listp

Initform

t

Readers

ts-elite-listp (generic function)

Writers

(setf ts-elite-listp) (generic function)

Slot: tabu-list
Initargs

:tabu-list

Readers

ts-tabu-list (generic function)

Writers

(setf ts-tabu-list) (generic function)

Slot: tabu-tenure
Initargs

:tabu-tenure

Initform

15

Readers

ts-tenure (generic function)

Writers

(setf ts-tenure) (generic function)

Slot: tabu-parameter-f
Initargs

:tabu-parameter-f

Initform

(function open-vrp.algo::ts-pars-n)

Readers

ts-parameter-f (generic function)

Writers

(setf ts-parameter-f) (generic function)

Slot: candidate-list
Initargs

:candidate-list

Readers

ts-candidate-list (generic function)

Writers

(setf ts-candidate-list) (generic function)

Slot: stopping-condition
Initargs

:stopping-condition

Initform

(function open-vrp.algo::stopping-conditionp)

Readers

ts-stopping-condition (generic function)

Writers

(setf ts-stopping-condition) (generic function)

Class: vrptw ()
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Direct superclasses

problem (class)

Direct subclasses

cvrptw (class)

Direct methods
Direct slots
Slot: name
Initform

"vrptw"

Slot: desc
Initform

"vehicle routing problem with time windows"


Previous: , Up: Definitions   [Contents][Index]

6.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.1 Special variables

Special Variable: *b*
Package

open-vrp.util

Source

draw-solution.lisp (file)

Special Variable: *finish-time*
Package

open-vrp.util

Source

solver.lisp (file)

Special Variable: *g*
Package

open-vrp.util

Source

draw-solution.lisp (file)

Special Variable: *multi-run-finish-time*
Package

open-vrp.util

Source

solver.lisp (file)

Special Variable: *r*
Package

open-vrp.util

Source

draw-solution.lisp (file)

Special Variable: asym-net
Package

open-vrp.test

Source

test-suite.lisp (file)

Special Variable: asym-tsp
Package

open-vrp.test

Source

test-suite.lisp (file)

Special Variable: asym-vrp
Package

open-vrp.test

Source

test-suite.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.2 Macros

Macro: change-route VEHICLE &body BODY

Expands into binding the vehicles route to r and setting it to result of body.

Package

open-vrp.util

Source

route.lisp (file)

Macro: for-node-id (NODE-ID PROB) &body BODY

Map over all node-IDs, except for base.

Package

open-vrp.algo

Source

ts.lisp (file)

Macro: for-veh-id (VEH-ID PROB) &body BODY

Map over all veh-IDs capped at fleet-size. Will consider only busy vehicles and one extra idle vehicle.

Package

open-vrp.algo

Source

ts.lisp (file)

Macro: on-all-testcases ALGO-SYMBOL
Package

open-vrp.test

Source

test-suite.lisp (file)

Macro: use-node DRAWER NODE &body BODY
Package

open-vrp.util

Source

draw-solution.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.3 Functions

Function: %read-string STREAM FN
Package

open-vrp.util

Source

read-cvrp.lisp (file)

Function: 2d-array-to-list ARRAY

Given a 2-dimensional array, return a list of lists.

Package

open-vrp.util

Source

network.lisp (file)

Function: 2d-list-to-array MATRIX

Given a list of lists, return a 2-dimensional array.

Package

open-vrp.util

Source

network.lisp (file)

Function: append-run-result FILEPATH RESULTS

Given the output filepath (with table headers initialized) and a list of algo-objects (as returned by multi-run), append one line that summarizes the run (by calling get-multi-run-stats).

Package

open-vrp.util

Source

output.lisp (file)

Function: arrow-to DRAWER PIX-X PIX-Y SIZE SKEW

Draws an arrow as in line-to, but creates an arrow in the middle of size. Use with canvas!

Package

open-vrp.util

Source

draw-solution.lisp (file)

Function: capacities-left PROB

Returns a list of all capacities left on the vehicles given the present solution.

Package

open-vrp.algo

Source

tools.lisp (file)

Function: clear-tabu-list TS

Given a <tabu-search>, erase everything that is on the tabu-list. A useful restart in case all moves were declared tabu.

Package

open-vrp.algo

Source

ts-utils.lisp (file)

Function: coord->pix DRAWER X

Given a drawer and a coord, calculate the associated x/y pixel. Includes 1 coord as border.

Package

open-vrp.util

Source

draw-solution.lisp (file)

Function: copy-drawer INSTANCE
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Function: copy-insertion-move INSTANCE
Package

open-vrp.algo

Source

tools.lisp (file)

Function: copy-move INSTANCE
Package

open-vrp.algo

Source

tools.lisp (file)

Function: copy-node INSTANCE
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Function: copy-ts-best-insertion-move INSTANCE
Package

open-vrp.algo

Source

ts-classdef.lisp (file)

Function: copy-vehicle INSTANCE
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Function: couple-lists LIST1 LIST2

Given a list of x and y-coords, return a list of pairs usable. Used for node-coords or time-windows.

Package

open-vrp.util

Source

read-solomon.lisp (file)

Function: distance-coord-pair N1 N2

Calculates distance given two coord pairs. Returns NIL if both coords are the same.

Package

open-vrp.util

Source

network.lisp (file)

Function: distance-coords X1 Y1 X2 Y2

Calculates pythagoras distance

Package

open-vrp.util

Source

network.lisp (file)

Function: dists-to-vehicles NODE PROB

Given a <Node> and a <Problem>, return the list of all the distances from the <Node> to the current positions of the fleet. Used by get-closest-(feasible)-vehicle.

Package

open-vrp.algo

Source

tools.lisp (file)

Function: draw-legend-item DRAWER VEH-OBJ R G B
Package

open-vrp.util

Source

draw-solution.lisp (file)

Function: draw-nodes PROB

Given the <Problem> object, plot the nodes only. Usage only with-canvas!

Package

open-vrp.util

Source

draw-solution.lisp (file)

Function: drawer-p OBJECT
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Function: generate-insertion-moves SOL VEHICLE-ID NODE-ID

Given the <solution> object, vehicle-id and node-id (integers), create all possible insertion-moves, and return them in a list. Avoid generating moves that won’t do anything (when doing intra-route insertion).

Package

open-vrp.algo

Source

best-insertion.lisp (file)

Function: get-color ()

Returns next color. Deterministically random.

Package

open-vrp.util

Source

draw-solution.lisp (file)

Function: get-from-list LIST PRED &key KEY

Gets from list the value (max or min) while ignoring NIL’s. Returns NIL if the whole list is nil. Use get-min or get-max!

Package

open-vrp.util

Source

list.lisp (file)

Function: get-index-of LIST FN &key KEY

Helper function of the below. Use get-min-index or get-max-index!

Package

open-vrp.util

Source

list.lisp (file)

Function: get-max-coord NODE-COORDS
Package

open-vrp.util

Source

init-macros.lisp (file)

Function: get-min-coord NODE-COORDS
Package

open-vrp.util

Source

init-macros.lisp (file)

Function: get-min-index-with-tabu DISTANCES TABU

Returns index of the first next closest, that is not in chosen (which is a list).

Package

open-vrp.algo

Source

tools.lisp (file)

Function: get-multi-run-stats ALGO-OBJECTS

Given a list of algo-objects, as returned by multi-run, return the stats with (values min max avg std runs time time/run)

Package

open-vrp.util

Source

output.lisp (file)

Function: improving-movep MOVE

Returns T if move is an improving one, i.e. has a negative fitness.

Package

open-vrp.algo

Source

ts-utils.lisp (file)

Function: insert-time-stamp-in-path PATH TIME

Given path, return the string of the path with the timestamp inserted before the .xxx

Package

open-vrp.util

Source

output.lisp (file)

Function: insertion-move-p OBJECT
Package

open-vrp.algo

Source

tools.lisp (file)

Function: late-v-duration ()
Package

open-vrp.test

Source

test-suite.lisp (file)

Function: late-v-speed ()
Package

open-vrp.test

Source

test-suite.lisp (file)

Function: make-move &key (FITNESS FITNESS)
Package

open-vrp.algo

Source

tools.lisp (file)

Function: mark-nill LIST INDICES

Marks the indices on list with NIL. DESTRUCTIVE.

Package

open-vrp.util

Source

list.lisp (file)

Function: move-p OBJECT
Package

open-vrp.algo

Source

tools.lisp (file)

Function: node-p OBJECT
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Function: num-nodes PROB

Given a problem, return the number of nodes in the network.

Package

open-vrp.algo

Source

tools.lisp (file)

Function: num-veh PROB

Given a problem, return size of the fleet.

Package

open-vrp.algo

Source

tools.lisp (file)

Function: on-time-and-in-cap-v ()
Package

open-vrp.test

Source

test-suite.lisp (file)

Function: on-time-but-overfull-v ()
Package

open-vrp.test

Source

test-suite.lisp (file)

Function: on-time-v ()
Package

open-vrp.test

Source

test-suite.lisp (file)

Function: overfull-v ()
Package

open-vrp.test

Source

test-suite.lisp (file)

Function: print-batch-run-table-header STREAM
Package

open-vrp.util

Source

output.lisp (file)

Function: print-header PROB ALGO &optional STREAM

Given a <Problem> and <Algo> object, print out a short description for the objects, and a line that logs the time of start of solving

Package

open-vrp.util

Source

output.lisp (file)

Function: read-string-while-member STREAM LST
Package

open-vrp.util

Source

read-cvrp.lisp (file)

Function: read-string-while-not-member STREAM LST
Package

open-vrp.util

Source

read-cvrp.lisp (file)

Function: route-from INS-MOVE SOL

Returns the route that contains the node that will be moved.

Package

open-vrp.algo

Source

tools.lisp (file)

Function: route-to INS-MOVE SOL

Returns the route that will be affected by the insertion-move.

Package

open-vrp.algo

Source

tools.lisp (file)

Function: same-lengthp &rest LISTS

Returns NIL if lists are not of equal length. Returns their length if all are equal. Accepts NIL arguments or single numbers, which will be ignored. Also accepts 2-dimensional arrays.

Package

open-vrp.util

Source

init-macros.lisp (file)

Function: select-best-tabu C
Package

open-vrp.algo

Source

algo-conditions.lisp (file)

Function: space-v ()
Package

open-vrp.test

Source

test-suite.lisp (file)

Function: stopping-conditionp TS

Given a <tabu-search>, tests whether the number of iterations since the best solution was found is larger than triple tenure value. This is an indicator of cycling behaviour. Minimum 20 iterations in case tenure is smaller than 10. Usefull for many multi-runs.

Package

open-vrp.algo

Source

ts-utils.lisp (file)

Function: store-pix DRAWER PIX-X PIX-Y

Store the position of the path (helper function for arrow calculation).

Package

open-vrp.util

Source

draw-solution.lisp (file)

Function: times-of-arriving NODE PROB

Returns a list of arrival times of the vehicles to node given the present solution.

Package

open-vrp.algo

Source

tools.lisp (file)

Function: ts-best-insertion-move-fitness INSTANCE
Function: (setf ts-best-insertion-move-fitness) VALUE INSTANCE
Package

open-vrp.algo

Source

ts-classdef.lisp (file)

Function: ts-best-insertion-move-index INSTANCE
Function: (setf ts-best-insertion-move-index) VALUE INSTANCE
Package

open-vrp.algo

Source

ts-classdef.lisp (file)

Function: ts-best-insertion-move-node-id INSTANCE
Function: (setf ts-best-insertion-move-node-id) VALUE INSTANCE
Package

open-vrp.algo

Source

ts-classdef.lisp (file)

Function: ts-best-insertion-move-p OBJECT
Package

open-vrp.algo

Source

ts-classdef.lisp (file)

Function: ts-best-insertion-move-vehicle-id INSTANCE
Function: (setf ts-best-insertion-move-vehicle-id) VALUE INSTANCE
Package

open-vrp.algo

Source

ts-classdef.lisp (file)

Function: ts-pars-n MV
Package

open-vrp.algo

Source

ts-utils.lisp (file)

Function: ts-pars-nv MV
Package

open-vrp.algo

Source

ts-utils.lisp (file)

Function: universal-time-to-string &optional TIME

Returns yymmdd-hhmmss in a string. Used for timestamped log-files.

Package

open-vrp.util

Source

output.lisp (file)

Function: useless-move MV PROB

Returns T if move is useless. Two options: 1. move concerns node and vehicle that has the node as it’s only destination, e.g. (0 2 0). 2. Moving node from one-destination vehicle to empty-vehicle, which becomes another one-destination vehicle.

Package

open-vrp.algo

Source

ts.lisp (file)

Function: vehicle-p OBJECT
Package

open-vrp.classes

Source

class-definitions.lisp (file)

Function: vrp-object OBJECT

Tests if the object is an instance of a VRP object that needs deep copy. (problem, fleet, vehicle)

Package

open-vrp.util

Source

simple-utils.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.4 Generic functions

Generic Function: from CONDITION
Package

open-vrp.util

Methods
Method: from (CONDITION same-origin-destination)
Source

conditions.lisp (file)

Generic Function: func CONDITION
Package

open-vrp.util

Methods
Method: func (CONDITION infeasible-solution)
Source

conditions.lisp (file)

Generic Function: index CONDITION
Package

open-vrp.util

Methods
Method: index (CONDITION index-out-of-bounds)
Source

conditions.lisp (file)

Generic Function: key CONDITION
Package

open-vrp.util

Methods
Method: key (CONDITION list-of-nils)
Source

conditions.lisp (file)

Generic Function: lists CONDITION
Package

open-vrp.util

Methods
Method: lists (CONDITION not-equal-length)
Source

conditions.lisp (file)

Generic Function: ls CONDITION
Package

open-vrp.util

Methods
Method: ls (CONDITION list-of-nils)
Source

conditions.lisp (file)

Method: ls (CONDITION index-out-of-bounds)
Source

conditions.lisp (file)

Generic Function: moves CONDITION
Package

open-vrp.algo

Methods
Method: moves (CONDITION no-feasible-move)
Source

algo-conditions.lisp (file)

Method: moves (CONDITION all-moves-tabu)
Source

algo-conditions.lisp (file)

Generic Function: pred CONDITION
Package

open-vrp.util

Methods
Method: pred (CONDITION unaccepted-predicate)
Source

conditions.lisp (file)

Generic Function: prob CONDITION
Package

open-vrp.util

Methods
Method: prob (CONDITION missing-drawer-object)
Source

conditions.lisp (file)

Generic Function: remove-affected-moves TS MOVE
Package

open-vrp.algo

Methods
Method: remove-affected-moves (TS tabu-search) MOVE

Given a <Tabu-search> and one <Move> (to be performed), remove all the moves from the candidate-list that do not apply anymore after the selected move is performed.

Source

ts-utils.lisp (file)

Generic Function: sol CONDITION
Package

open-vrp.util

Methods
Method: sol (CONDITION infeasible-solution)
Source

conditions.lisp (file)

Generic Function: to CONDITION
Package

open-vrp.util

Methods
Method: to (CONDITION same-origin-destination)
Source

conditions.lisp (file)

Generic Function: veh CONDITION
Package

open-vrp.util

Methods
Method: veh (CONDITION no-speed-vehicle)
Source

conditions.lisp (file)

Method: veh (CONDITION no-capacities-vehicle)
Source

conditions.lisp (file)


Previous: , Up: Internal definitions   [Contents][Index]

6.2.5 Conditions

Condition: all-moves-tabu ()
Package

open-vrp.algo

Source

algo-conditions.lisp (file)

Direct superclasses

error (condition)

Direct methods
Direct slots
Slot: moves
Initargs

:moves

Readers

moves (generic function)

Slot: tabu-list
Initargs

:tabu-list

Readers

tabu-list (generic function)

Condition: empty-network ()
Package

open-vrp.util

Source

conditions.lisp (file)

Direct superclasses

error (condition)

Condition: file-not-recognized ()
Package

open-vrp.util

Source

conditions.lisp (file)

Direct superclasses

error (condition)

Direct methods

file (method)

Direct slots
Slot: file
Initargs

:file

Readers

file (generic function)

Condition: index-out-of-bounds ()
Package

open-vrp.util

Source

conditions.lisp (file)

Direct superclasses

error (condition)

Direct methods
Direct slots
Slot: index
Initargs

:index

Readers

index (generic function)

Slot: ls
Initargs

:ls

Readers

ls (generic function)

Condition: infeasible-solution ()
Package

open-vrp.util

Source

conditions.lisp (file)

Direct superclasses

error (condition)

Direct methods
Direct slots
Slot: sol
Initargs

:sol

Readers

sol (generic function)

Slot: func
Initargs

:func

Readers

func (generic function)

Condition: missing-drawer-object ()
Package

open-vrp.util

Source

conditions.lisp (file)

Direct superclasses

error (condition)

Direct methods

prob (method)

Direct slots
Slot: prob
Initargs

:prob

Readers

prob (generic function)

Condition: no-capacities-vehicle ()
Package

open-vrp.util

Source

conditions.lisp (file)

Direct superclasses

error (condition)

Direct methods

veh (method)

Direct slots
Slot: veh
Initargs

:veh

Readers

veh (generic function)

Condition: no-feasible-move ()
Package

open-vrp.algo

Source

algo-conditions.lisp (file)

Direct superclasses

error (condition)

Direct methods

moves (method)

Direct slots
Slot: moves
Initargs

:moves

Readers

moves (generic function)

Condition: no-initial-feasible-solution ()
Package

open-vrp.algo

Source

algo-conditions.lisp (file)

Direct superclasses

error (condition)

Condition: no-speed-vehicle ()
Package

open-vrp.util

Source

conditions.lisp (file)

Direct superclasses

error (condition)

Direct methods

veh (method)

Direct slots
Slot: veh
Initargs

:veh

Readers

veh (generic function)

Condition: not-equal-length ()
Package

open-vrp.util

Source

conditions.lisp (file)

Direct superclasses

error (condition)

Direct methods

lists (method)

Direct slots
Slot: lists
Initargs

:lists

Readers

lists (generic function)

Condition: unaccepted-predicate ()
Package

open-vrp.util

Source

conditions.lisp (file)

Direct superclasses

error (condition)

Direct methods

pred (method)

Direct slots
Slot: pred
Initargs

:pred

Readers

pred (generic function)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   F   L   M   O  
Index Entry  Section

F
File, Lisp, open-vrp-lib.asd: The open-vrp-lib<dot>asd file
File, Lisp, open-vrp-lib/lib/batch-run.lisp: The open-vrp-lib/lib/batch-run<dot>lisp file
File, Lisp, open-vrp-lib/lib/class-definitions.lisp: The open-vrp-lib/lib/class-definitions<dot>lisp file
File, Lisp, open-vrp-lib/lib/conditions.lisp: The open-vrp-lib/lib/conditions<dot>lisp file
File, Lisp, open-vrp-lib/lib/config-functions.lisp: The open-vrp-lib/lib/config-functions<dot>lisp file
File, Lisp, open-vrp-lib/lib/constraints.lisp: The open-vrp-lib/lib/constraints<dot>lisp file
File, Lisp, open-vrp-lib/lib/draw-solution.lisp: The open-vrp-lib/lib/draw-solution<dot>lisp file
File, Lisp, open-vrp-lib/lib/fitness.lisp: The open-vrp-lib/lib/fitness<dot>lisp file
File, Lisp, open-vrp-lib/lib/fleet.lisp: The open-vrp-lib/lib/fleet<dot>lisp file
File, Lisp, open-vrp-lib/lib/init-macros.lisp: The open-vrp-lib/lib/init-macros<dot>lisp file
File, Lisp, open-vrp-lib/lib/list.lisp: The open-vrp-lib/lib/list<dot>lisp file
File, Lisp, open-vrp-lib/lib/network.lisp: The open-vrp-lib/lib/network<dot>lisp file
File, Lisp, open-vrp-lib/lib/output.lisp: The open-vrp-lib/lib/output<dot>lisp file
File, Lisp, open-vrp-lib/lib/read-cvrp.lisp: The open-vrp-lib/lib/read-cvrp<dot>lisp file
File, Lisp, open-vrp-lib/lib/read-solomon.lisp: The open-vrp-lib/lib/read-solomon<dot>lisp file
File, Lisp, open-vrp-lib/lib/read-test-case.lisp: The open-vrp-lib/lib/read-test-case<dot>lisp file
File, Lisp, open-vrp-lib/lib/route.lisp: The open-vrp-lib/lib/route<dot>lisp file
File, Lisp, open-vrp-lib/lib/simple-utils.lisp: The open-vrp-lib/lib/simple-utils<dot>lisp file
File, Lisp, open-vrp-lib/lib/solver.lisp: The open-vrp-lib/lib/solver<dot>lisp file
File, Lisp, open-vrp-lib/packages.lisp: The open-vrp-lib/packages<dot>lisp file
File, Lisp, open-vrp.asd: The open-vrp<dot>asd file
File, Lisp, open-vrp/algo/algo-conditions.lisp: The open-vrp/algo/algo-conditions<dot>lisp file
File, Lisp, open-vrp/algo/best-insertion.lisp: The open-vrp/algo/best-insertion<dot>lisp file
File, Lisp, open-vrp/algo/greedy-append.lisp: The open-vrp/algo/greedy-append<dot>lisp file
File, Lisp, open-vrp/algo/greedy-best-insertion.lisp: The open-vrp/algo/greedy-best-insertion<dot>lisp file
File, Lisp, open-vrp/algo/greedy-NN.lisp: The open-vrp/algo/greedy-nn<dot>lisp file
File, Lisp, open-vrp/algo/iterator.lisp: The open-vrp/algo/iterator<dot>lisp file
File, Lisp, open-vrp/algo/tools.lisp: The open-vrp/algo/tools<dot>lisp file
File, Lisp, open-vrp/algo/TS-classdef.lisp: The open-vrp/algo/ts-classdef<dot>lisp file
File, Lisp, open-vrp/algo/TS-utils.lisp: The open-vrp/algo/ts-utils<dot>lisp file
File, Lisp, open-vrp/algo/TS.lisp: The open-vrp/algo/ts<dot>lisp file
File, Lisp, open-vrp/test-cases/test-cases.lisp: The open-vrp/test-cases/test-cases<dot>lisp file
File, Lisp, open-vrp/test-cases/test-suite.lisp: The open-vrp/test-cases/test-suite<dot>lisp file

L
Lisp File, open-vrp-lib.asd: The open-vrp-lib<dot>asd file
Lisp File, open-vrp-lib/lib/batch-run.lisp: The open-vrp-lib/lib/batch-run<dot>lisp file
Lisp File, open-vrp-lib/lib/class-definitions.lisp: The open-vrp-lib/lib/class-definitions<dot>lisp file
Lisp File, open-vrp-lib/lib/conditions.lisp: The open-vrp-lib/lib/conditions<dot>lisp file
Lisp File, open-vrp-lib/lib/config-functions.lisp: The open-vrp-lib/lib/config-functions<dot>lisp file
Lisp File, open-vrp-lib/lib/constraints.lisp: The open-vrp-lib/lib/constraints<dot>lisp file
Lisp File, open-vrp-lib/lib/draw-solution.lisp: The open-vrp-lib/lib/draw-solution<dot>lisp file
Lisp File, open-vrp-lib/lib/fitness.lisp: The open-vrp-lib/lib/fitness<dot>lisp file
Lisp File, open-vrp-lib/lib/fleet.lisp: The open-vrp-lib/lib/fleet<dot>lisp file
Lisp File, open-vrp-lib/lib/init-macros.lisp: The open-vrp-lib/lib/init-macros<dot>lisp file
Lisp File, open-vrp-lib/lib/list.lisp: The open-vrp-lib/lib/list<dot>lisp file
Lisp File, open-vrp-lib/lib/network.lisp: The open-vrp-lib/lib/network<dot>lisp file
Lisp File, open-vrp-lib/lib/output.lisp: The open-vrp-lib/lib/output<dot>lisp file
Lisp File, open-vrp-lib/lib/read-cvrp.lisp: The open-vrp-lib/lib/read-cvrp<dot>lisp file
Lisp File, open-vrp-lib/lib/read-solomon.lisp: The open-vrp-lib/lib/read-solomon<dot>lisp file
Lisp File, open-vrp-lib/lib/read-test-case.lisp: The open-vrp-lib/lib/read-test-case<dot>lisp file
Lisp File, open-vrp-lib/lib/route.lisp: The open-vrp-lib/lib/route<dot>lisp file
Lisp File, open-vrp-lib/lib/simple-utils.lisp: The open-vrp-lib/lib/simple-utils<dot>lisp file
Lisp File, open-vrp-lib/lib/solver.lisp: The open-vrp-lib/lib/solver<dot>lisp file
Lisp File, open-vrp-lib/packages.lisp: The open-vrp-lib/packages<dot>lisp file
Lisp File, open-vrp.asd: The open-vrp<dot>asd file
Lisp File, open-vrp/algo/algo-conditions.lisp: The open-vrp/algo/algo-conditions<dot>lisp file
Lisp File, open-vrp/algo/best-insertion.lisp: The open-vrp/algo/best-insertion<dot>lisp file
Lisp File, open-vrp/algo/greedy-append.lisp: The open-vrp/algo/greedy-append<dot>lisp file
Lisp File, open-vrp/algo/greedy-best-insertion.lisp: The open-vrp/algo/greedy-best-insertion<dot>lisp file
Lisp File, open-vrp/algo/greedy-NN.lisp: The open-vrp/algo/greedy-nn<dot>lisp file
Lisp File, open-vrp/algo/iterator.lisp: The open-vrp/algo/iterator<dot>lisp file
Lisp File, open-vrp/algo/tools.lisp: The open-vrp/algo/tools<dot>lisp file
Lisp File, open-vrp/algo/TS-classdef.lisp: The open-vrp/algo/ts-classdef<dot>lisp file
Lisp File, open-vrp/algo/TS-utils.lisp: The open-vrp/algo/ts-utils<dot>lisp file
Lisp File, open-vrp/algo/TS.lisp: The open-vrp/algo/ts<dot>lisp file
Lisp File, open-vrp/test-cases/test-cases.lisp: The open-vrp/test-cases/test-cases<dot>lisp file
Lisp File, open-vrp/test-cases/test-suite.lisp: The open-vrp/test-cases/test-suite<dot>lisp file

M
Module, open-vrp-lib/lib: The open-vrp-lib/lib module
Module, open-vrp/algo: The open-vrp/algo module
Module, open-vrp/test-cases: The open-vrp/test-cases module

O
open-vrp-lib.asd: The open-vrp-lib<dot>asd file
open-vrp-lib/lib: The open-vrp-lib/lib module
open-vrp-lib/lib/batch-run.lisp: The open-vrp-lib/lib/batch-run<dot>lisp file
open-vrp-lib/lib/class-definitions.lisp: The open-vrp-lib/lib/class-definitions<dot>lisp file
open-vrp-lib/lib/conditions.lisp: The open-vrp-lib/lib/conditions<dot>lisp file
open-vrp-lib/lib/config-functions.lisp: The open-vrp-lib/lib/config-functions<dot>lisp file
open-vrp-lib/lib/constraints.lisp: The open-vrp-lib/lib/constraints<dot>lisp file
open-vrp-lib/lib/draw-solution.lisp: The open-vrp-lib/lib/draw-solution<dot>lisp file
open-vrp-lib/lib/fitness.lisp: The open-vrp-lib/lib/fitness<dot>lisp file
open-vrp-lib/lib/fleet.lisp: The open-vrp-lib/lib/fleet<dot>lisp file
open-vrp-lib/lib/init-macros.lisp: The open-vrp-lib/lib/init-macros<dot>lisp file
open-vrp-lib/lib/list.lisp: The open-vrp-lib/lib/list<dot>lisp file
open-vrp-lib/lib/network.lisp: The open-vrp-lib/lib/network<dot>lisp file
open-vrp-lib/lib/output.lisp: The open-vrp-lib/lib/output<dot>lisp file
open-vrp-lib/lib/read-cvrp.lisp: The open-vrp-lib/lib/read-cvrp<dot>lisp file
open-vrp-lib/lib/read-solomon.lisp: The open-vrp-lib/lib/read-solomon<dot>lisp file
open-vrp-lib/lib/read-test-case.lisp: The open-vrp-lib/lib/read-test-case<dot>lisp file
open-vrp-lib/lib/route.lisp: The open-vrp-lib/lib/route<dot>lisp file
open-vrp-lib/lib/simple-utils.lisp: The open-vrp-lib/lib/simple-utils<dot>lisp file
open-vrp-lib/lib/solver.lisp: The open-vrp-lib/lib/solver<dot>lisp file
open-vrp-lib/packages.lisp: The open-vrp-lib/packages<dot>lisp file
open-vrp.asd: The open-vrp<dot>asd file
open-vrp/algo: The open-vrp/algo module
open-vrp/algo/algo-conditions.lisp: The open-vrp/algo/algo-conditions<dot>lisp file
open-vrp/algo/best-insertion.lisp: The open-vrp/algo/best-insertion<dot>lisp file
open-vrp/algo/greedy-append.lisp: The open-vrp/algo/greedy-append<dot>lisp file
open-vrp/algo/greedy-best-insertion.lisp: The open-vrp/algo/greedy-best-insertion<dot>lisp file
open-vrp/algo/greedy-NN.lisp: The open-vrp/algo/greedy-nn<dot>lisp file
open-vrp/algo/iterator.lisp: The open-vrp/algo/iterator<dot>lisp file
open-vrp/algo/tools.lisp: The open-vrp/algo/tools<dot>lisp file
open-vrp/algo/TS-classdef.lisp: The open-vrp/algo/ts-classdef<dot>lisp file
open-vrp/algo/TS-utils.lisp: The open-vrp/algo/ts-utils<dot>lisp file
open-vrp/algo/TS.lisp: The open-vrp/algo/ts<dot>lisp file
open-vrp/test-cases: The open-vrp/test-cases module
open-vrp/test-cases/test-cases.lisp: The open-vrp/test-cases/test-cases<dot>lisp file
open-vrp/test-cases/test-suite.lisp: The open-vrp/test-cases/test-suite<dot>lisp file

Jump to:   F   L   M   O  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   %   (   2  
A   B   C   D   E   F   G   I   K   L   M   N   O   P   R   S   T   U   V   W  
Index Entry  Section

%
%read-string: Internal functions

(
(setf algo-animatep): Exported generic functions
(setf algo-animatep): Exported generic functions
(setf algo-best-fitness): Exported generic functions
(setf algo-best-fitness): Exported generic functions
(setf algo-best-iteration): Exported generic functions
(setf algo-best-iteration): Exported generic functions
(setf algo-best-sol): Exported generic functions
(setf algo-best-sol): Exported generic functions
(setf algo-current-sol): Exported generic functions
(setf algo-current-sol): Exported generic functions
(setf algo-iterations): Exported generic functions
(setf algo-iterations): Exported generic functions
(setf drawer-filename): Exported functions
(setf drawer-legend-x): Exported functions
(setf drawer-legend-y): Exported functions
(setf drawer-legendp): Exported functions
(setf drawer-max-coord): Exported functions
(setf drawer-max-pix): Exported functions
(setf drawer-min-coord): Exported functions
(setf drawer-plotp): Exported functions
(setf drawer-x-pos): Exported functions
(setf drawer-y-pos): Exported functions
(setf move-fitness): Exported functions
(setf move-index): Exported functions
(setf move-node-id): Exported functions
(setf move-vehicle-id): Exported functions
(setf problem-dist-array): Exported generic functions
(setf problem-dist-array): Exported generic functions
(setf problem-drawer): Exported generic functions
(setf problem-drawer): Exported generic functions
(setf problem-log-file): Exported generic functions
(setf problem-log-file): Exported generic functions
(setf problem-log-mode): Exported generic functions
(setf problem-log-mode): Exported generic functions
(setf problem-to-depot): Exported generic functions
(setf problem-to-depot): Exported generic functions
(setf ts-aspirationp): Exported generic functions
(setf ts-aspirationp): Exported generic functions
(setf ts-best-insertion-move-fitness): Internal functions
(setf ts-best-insertion-move-index): Internal functions
(setf ts-best-insertion-move-node-id): Internal functions
(setf ts-best-insertion-move-vehicle-id): Internal functions
(setf ts-candidate-list): Exported generic functions
(setf ts-candidate-list): Exported generic functions
(setf ts-elite-listp): Exported generic functions
(setf ts-elite-listp): Exported generic functions
(setf ts-init-heur): Exported generic functions
(setf ts-init-heur): Exported generic functions
(setf ts-move-type): Exported generic functions
(setf ts-move-type): Exported generic functions
(setf ts-parameter-f): Exported generic functions
(setf ts-parameter-f): Exported generic functions
(setf ts-stopping-condition): Exported generic functions
(setf ts-stopping-condition): Exported generic functions
(setf ts-tabu-list): Exported generic functions
(setf ts-tabu-list): Exported generic functions
(setf ts-tenure): Exported generic functions
(setf ts-tenure): Exported generic functions
(setf vehicle-route): Exported functions

2
2d-array-to-list: Internal functions
2d-list-to-array: Internal functions

A
add-move-to-tabu: Exported functions
add-to-tabu: Exported functions
aif: Exported macros
algo-animatep: Exported generic functions
algo-animatep: Exported generic functions
algo-best-fitness: Exported generic functions
algo-best-fitness: Exported generic functions
algo-best-iteration: Exported generic functions
algo-best-iteration: Exported generic functions
algo-best-sol: Exported generic functions
algo-best-sol: Exported generic functions
algo-current-sol: Exported generic functions
algo-current-sol: Exported generic functions
algo-desc: Exported generic functions
algo-desc: Exported generic functions
algo-iterations: Exported generic functions
algo-iterations: Exported generic functions
algo-name: Exported generic functions
algo-name: Exported generic functions
append-node: Exported functions
append-run-result: Internal functions
arrow-to: Internal functions
assess-move: Exported generic functions
assess-move: Exported generic functions
assess-move: Exported generic functions
assess-move: Exported generic functions
assess-move: Exported generic functions
assess-move: Exported generic functions
assess-moves: Exported functions
awhile: Exported macros

B
batch-run: Exported macros

C
capacities-left: Internal functions
change-route: Internal macros
clear-tabu-list: Internal functions
constraints-check: Exported macros
constraintsp: Exported generic functions
constraintsp: Exported generic functions
constraintsp: Exported generic functions
constraintsp: Exported generic functions
coord->pix: Internal functions
copy-drawer: Internal functions
copy-insertion-move: Internal functions
copy-move: Internal functions
copy-node: Internal functions
copy-object: Exported functions
copy-ts-best-insertion-move: Internal functions
copy-vehicle: Internal functions
couple-lists: Internal functions
create-candidate-list: Exported functions
create-nodes: Exported macros
create-vehicles: Exported macros

D
define-problem: Exported macros
distance: Exported functions
distance-coord-pair: Internal functions
distance-coords: Internal functions
dists-to-vehicles: Internal functions
draw-legend-item: Internal functions
draw-nodes: Internal functions
drawer-filename: Exported functions
drawer-legend-x: Exported functions
drawer-legend-y: Exported functions
drawer-legendp: Exported functions
drawer-max-coord: Exported functions
drawer-max-pix: Exported functions
drawer-min-coord: Exported functions
drawer-p: Internal functions
drawer-plotp: Exported functions
drawer-x-pos: Exported functions
drawer-y-pos: Exported functions

E
empty-routep: Exported functions
enumerate-interval: Exported functions

F
feasible-movep: Exported generic functions
feasible-movep: Exported generic functions
feasible-movep: Exported generic functions
feasible-movep: Exported generic functions
fitness: Exported generic functions
fitness: Exported generic functions
fitness: Exported generic functions
fitness-before-after: Exported functions
for-node-id: Internal macros
for-veh-id: Internal macros
from: Internal generic functions
from: Internal generic functions
func: Internal generic functions
func: Internal generic functions
Function, %read-string: Internal functions
Function, (setf drawer-filename): Exported functions
Function, (setf drawer-legend-x): Exported functions
Function, (setf drawer-legend-y): Exported functions
Function, (setf drawer-legendp): Exported functions
Function, (setf drawer-max-coord): Exported functions
Function, (setf drawer-max-pix): Exported functions
Function, (setf drawer-min-coord): Exported functions
Function, (setf drawer-plotp): Exported functions
Function, (setf drawer-x-pos): Exported functions
Function, (setf drawer-y-pos): Exported functions
Function, (setf move-fitness): Exported functions
Function, (setf move-index): Exported functions
Function, (setf move-node-id): Exported functions
Function, (setf move-vehicle-id): Exported functions
Function, (setf ts-best-insertion-move-fitness): Internal functions
Function, (setf ts-best-insertion-move-index): Internal functions
Function, (setf ts-best-insertion-move-node-id): Internal functions
Function, (setf ts-best-insertion-move-vehicle-id): Internal functions
Function, (setf vehicle-route): Exported functions
Function, 2d-array-to-list: Internal functions
Function, 2d-list-to-array: Internal functions
Function, add-move-to-tabu: Exported functions
Function, add-to-tabu: Exported functions
Function, append-node: Exported functions
Function, append-run-result: Internal functions
Function, arrow-to: Internal functions
Function, assess-moves: Exported functions
Function, capacities-left: Internal functions
Function, clear-tabu-list: Internal functions
Function, coord->pix: Internal functions
Function, copy-drawer: Internal functions
Function, copy-insertion-move: Internal functions
Function, copy-move: Internal functions
Function, copy-node: Internal functions
Function, copy-object: Exported functions
Function, copy-ts-best-insertion-move: Internal functions
Function, copy-vehicle: Internal functions
Function, couple-lists: Internal functions
Function, create-candidate-list: Exported functions
Function, distance: Exported functions
Function, distance-coord-pair: Internal functions
Function, distance-coords: Internal functions
Function, dists-to-vehicles: Internal functions
Function, draw-legend-item: Internal functions
Function, draw-nodes: Internal functions
Function, drawer-filename: Exported functions
Function, drawer-legend-x: Exported functions
Function, drawer-legend-y: Exported functions
Function, drawer-legendp: Exported functions
Function, drawer-max-coord: Exported functions
Function, drawer-max-pix: Exported functions
Function, drawer-min-coord: Exported functions
Function, drawer-p: Internal functions
Function, drawer-plotp: Exported functions
Function, drawer-x-pos: Exported functions
Function, drawer-y-pos: Exported functions
Function, empty-routep: Exported functions
Function, enumerate-interval: Exported functions
Function, fitness-before-after: Exported functions
Function, generate-dist-array: Exported functions
Function, generate-insertion-moves: Internal functions
Function, get-array-row: Exported functions
Function, get-best-insertion-move-in-vehicle: Exported functions
Function, get-best-solution-from-multi-run: Exported functions
Function, get-busy-vehicles: Exported functions
Function, get-closest-node: Exported functions
Function, get-closest-vehicle: Exported functions
Function, get-color: Internal functions
Function, get-from-list: Internal functions
Function, get-index-of: Internal functions
Function, get-max: Exported functions
Function, get-max-coord: Internal functions
Function, get-max-index: Exported functions
Function, get-min: Exported functions
Function, get-min-coord: Internal functions
Function, get-min-index: Exported functions
Function, get-min-index-with-tabu: Internal functions
Function, get-multi-run-stats: Internal functions
Function, improving-movep: Internal functions
Function, init-algo: Exported functions
Function, insert-at-end: Exported functions
Function, insert-before: Exported functions
Function, insert-node: Exported functions
Function, insert-time-stamp-in-path: Internal functions
Function, insertion-move-p: Internal functions
Function, is-tabu-movep: Exported functions
Function, is-tabup: Exported functions
Function, late-v-duration: Internal functions
Function, late-v-speed: Internal functions
Function, load-solomon-vrp-file: Exported functions
Function, load-test-case-file: Exported functions
Function, load-tsplib-vrp-file: Exported functions
Function, make-drawer: Exported functions
Function, make-insertion-move: Exported functions
Function, make-move: Internal functions
Function, make-node: Exported functions
Function, make-ts-best-insertion-move: Exported functions
Function, make-vehicle: Exported functions
Function, map0-n: Exported functions
Function, map1-n: Exported functions
Function, mark-nill: Internal functions
Function, max-car: Exported functions
Function, max-cdr: Exported functions
Function, move-fitness: Exported functions
Function, move-index: Exported functions
Function, move-node-id: Exported functions
Function, move-p: Internal functions
Function, move-vehicle-id: Exported functions
Function, node-demand: Exported functions
Function, node-distance: Exported functions
Function, node-duration: Exported functions
Function, node-end: Exported functions
Function, node-id: Exported functions
Function, node-on-routep: Exported functions
Function, node-p: Internal functions
Function, node-start: Exported functions
Function, node-xcor: Exported functions
Function, node-ycor: Exported functions
Function, num-nodes: Internal functions
Function, num-veh: Internal functions
Function, on-time-and-in-cap-v: Internal functions
Function, on-time-but-overfull-v: Internal functions
Function, on-time-v: Internal functions
Function, one-destinationp: Exported functions
Function, overfull-v: Internal functions
Function, print-batch-run-table-header: Internal functions
Function, print-final-results: Exported functions
Function, print-header: Internal functions
Function, print-multi-run-stats: Exported functions
Function, print-timestamp: Exported functions
Function, print-vrp-object: Exported functions
Function, random-list-permutation: Exported functions
Function, read-string-while-member: Internal functions
Function, read-string-while-not-member: Internal functions
Function, remove-index: Exported functions
Function, remove-node-at: Exported functions
Function, route-from: Internal functions
Function, route-to: Internal functions
Function, same-lengthp: Internal functions
Function, select-best-tabu: Internal functions
Function, set-dist-array: Exported functions
Function, set-log-file: Exported functions
Function, set-log-mode: Exported functions
Function, set-plot-file: Exported functions
Function, single: Exported functions
Function, sort-ignore-nil: Exported functions
Function, sort-moves: Exported functions
Function, space-v: Internal functions
Function, stopping-conditionp: Internal functions
Function, store-pix: Internal functions
Function, sum: Exported functions
Function, time-after-serving-node: Exported functions
Function, times-of-arriving: Internal functions
Function, toggle-animate: Exported functions
Function, toggle-aspiration: Exported functions
Function, toggle-elite-list: Exported functions
Function, travel-time: Exported functions
Function, ts-best-insertion-move-fitness: Internal functions
Function, ts-best-insertion-move-index: Internal functions
Function, ts-best-insertion-move-node-id: Internal functions
Function, ts-best-insertion-move-p: Internal functions
Function, ts-best-insertion-move-vehicle-id: Internal functions
Function, ts-pars-n: Internal functions
Function, ts-pars-nv: Internal functions
Function, universal-time-to-string: Internal functions
Function, useless-move: Internal functions
Function, veh-in-timep: Exported functions
Function, vehicle-capacity: Exported functions
Function, vehicle-id: Exported functions
Function, vehicle-p: Internal functions
Function, vehicle-route: Exported functions
Function, vehicle-speed: Exported functions
Function, vehicle-with-node-id: Exported functions
Function, vrp-object: Internal functions

G
generate-dist-array: Exported functions
generate-insertion-moves: Internal functions
generate-moves: Exported generic functions
generate-moves: Exported generic functions
generate-moves: Exported generic functions
Generic Function, (setf algo-animatep): Exported generic functions
Generic Function, (setf algo-best-fitness): Exported generic functions
Generic Function, (setf algo-best-iteration): Exported generic functions
Generic Function, (setf algo-best-sol): Exported generic functions
Generic Function, (setf algo-current-sol): Exported generic functions
Generic Function, (setf algo-iterations): Exported generic functions
Generic Function, (setf problem-dist-array): Exported generic functions
Generic Function, (setf problem-drawer): Exported generic functions
Generic Function, (setf problem-log-file): Exported generic functions
Generic Function, (setf problem-log-mode): Exported generic functions
Generic Function, (setf problem-to-depot): Exported generic functions
Generic Function, (setf ts-aspirationp): Exported generic functions
Generic Function, (setf ts-candidate-list): Exported generic functions
Generic Function, (setf ts-elite-listp): Exported generic functions
Generic Function, (setf ts-init-heur): Exported generic functions
Generic Function, (setf ts-move-type): Exported generic functions
Generic Function, (setf ts-parameter-f): Exported generic functions
Generic Function, (setf ts-stopping-condition): Exported generic functions
Generic Function, (setf ts-tabu-list): Exported generic functions
Generic Function, (setf ts-tenure): Exported generic functions
Generic Function, algo-animatep: Exported generic functions
Generic Function, algo-best-fitness: Exported generic functions
Generic Function, algo-best-iteration: Exported generic functions
Generic Function, algo-best-sol: Exported generic functions
Generic Function, algo-current-sol: Exported generic functions
Generic Function, algo-desc: Exported generic functions
Generic Function, algo-iterations: Exported generic functions
Generic Function, algo-name: Exported generic functions
Generic Function, assess-move: Exported generic functions
Generic Function, constraintsp: Exported generic functions
Generic Function, feasible-movep: Exported generic functions
Generic Function, fitness: Exported generic functions
Generic Function, from: Internal generic functions
Generic Function, func: Internal generic functions
Generic Function, generate-moves: Exported generic functions
Generic Function, get-best-insertion-move: Exported generic functions
Generic Function, get-closest-feasible-vehicle: Exported generic functions
Generic Function, in-capacityp: Exported generic functions
Generic Function, in-timep: Exported generic functions
Generic Function, index: Internal generic functions
Generic Function, initialize: Exported generic functions
Generic Function, iterate: Exported generic functions
Generic Function, iterate-more: Exported generic functions
Generic Function, key: Internal generic functions
Generic Function, last-node: Exported generic functions
Generic Function, lists: Internal generic functions
Generic Function, log-to-replp: Exported generic functions
Generic Function, ls: Internal generic functions
Generic Function, moves: Internal generic functions
Generic Function, node: Exported generic functions
Generic Function, perform-move: Exported generic functions
Generic Function, plot-nodes: Exported generic functions
Generic Function, plot-solution: Exported generic functions
Generic Function, pred: Internal generic functions
Generic Function, print-routes: Exported generic functions
Generic Function, prob: Internal generic functions
Generic Function, problem-desc: Exported generic functions
Generic Function, problem-dist-array: Exported generic functions
Generic Function, problem-drawer: Exported generic functions
Generic Function, problem-fleet: Exported generic functions
Generic Function, problem-log-file: Exported generic functions
Generic Function, problem-log-mode: Exported generic functions
Generic Function, problem-name: Exported generic functions
Generic Function, problem-network: Exported generic functions
Generic Function, problem-to-depot: Exported generic functions
Generic Function, remove-affected-moves: Internal generic functions
Generic Function, remove-node-id: Exported generic functions
Generic Function, route-indices: Exported generic functions
Generic Function, run-algo: Exported generic functions
Generic Function, select-move: Exported generic functions
Generic Function, sol: Internal generic functions
Generic Function, solve-prob: Exported generic functions
Generic Function, tabu-list: Exported generic functions
Generic Function, to: Internal generic functions
Generic Function, toggle-legend: Exported generic functions
Generic Function, toggle-plot: Exported generic functions
Generic Function, total-dist: Exported generic functions
Generic Function, ts-aspirationp: Exported generic functions
Generic Function, ts-candidate-list: Exported generic functions
Generic Function, ts-elite-listp: Exported generic functions
Generic Function, ts-init-heur: Exported generic functions
Generic Function, ts-move-type: Exported generic functions
Generic Function, ts-parameter-f: Exported generic functions
Generic Function, ts-stopping-condition: Exported generic functions
Generic Function, ts-tabu-list: Exported generic functions
Generic Function, ts-tenure: Exported generic functions
Generic Function, veh: Internal generic functions
Generic Function, vehicle: Exported generic functions
get-array-row: Exported functions
get-best-insertion-move: Exported generic functions
get-best-insertion-move: Exported generic functions
get-best-insertion-move: Exported generic functions
get-best-insertion-move-in-vehicle: Exported functions
get-best-solution-from-multi-run: Exported functions
get-busy-vehicles: Exported functions
get-closest-feasible-vehicle: Exported generic functions
get-closest-feasible-vehicle: Exported generic functions
get-closest-feasible-vehicle: Exported generic functions
get-closest-feasible-vehicle: Exported generic functions
get-closest-node: Exported functions
get-closest-vehicle: Exported functions
get-color: Internal functions
get-from-list: Internal functions
get-index-of: Internal functions
get-max: Exported functions
get-max-coord: Internal functions
get-max-index: Exported functions
get-min: Exported functions
get-min-coord: Internal functions
get-min-index: Exported functions
get-min-index-with-tabu: Internal functions
get-multi-run-stats: Internal functions

I
improving-movep: Internal functions
in-capacityp: Exported generic functions
in-capacityp: Exported generic functions
in-capacityp: Exported generic functions
in-capacityp: Exported generic functions
in-timep: Exported generic functions
in-timep: Exported generic functions
index: Internal generic functions
index: Internal generic functions
init-algo: Exported functions
initialize: Exported generic functions
initialize: Exported generic functions
initialize: Exported generic functions
insert-at-end: Exported functions
insert-before: Exported functions
insert-node: Exported functions
insert-time-stamp-in-path: Internal functions
insertion-move-p: Internal functions
is-tabu-movep: Exported functions
is-tabup: Exported functions
iterate: Exported generic functions
iterate: Exported generic functions
iterate: Exported generic functions
iterate: Exported generic functions
iterate: Exported generic functions
iterate: Exported generic functions
iterate-more: Exported generic functions
iterate-more: Exported generic functions
iterate-more: Exported generic functions
iterate-more: Exported generic functions

K
key: Internal generic functions
key: Internal generic functions

L
last-node: Exported generic functions
last-node: Exported generic functions
last-node: Exported generic functions
late-v-duration: Internal functions
late-v-speed: Internal functions
lists: Internal generic functions
lists: Internal generic functions
load-solomon-vrp-file: Exported functions
load-test-case-file: Exported functions
load-tsplib-vrp-file: Exported functions
log-to-replp: Exported generic functions
log-to-replp: Exported generic functions
log-to-replp: Exported generic functions
ls: Internal generic functions
ls: Internal generic functions
ls: Internal generic functions

M
mac: Exported macros
Macro, aif: Exported macros
Macro, awhile: Exported macros
Macro, batch-run: Exported macros
Macro, change-route: Internal macros
Macro, constraints-check: Exported macros
Macro, create-nodes: Exported macros
Macro, create-vehicles: Exported macros
Macro, define-problem: Exported macros
Macro, for-node-id: Internal macros
Macro, for-veh-id: Internal macros
Macro, mac: Exported macros
Macro, multi-run: Exported macros
Macro, multi-run-algo: Exported macros
Macro, new-node: Exported macros
Macro, new-vehicle: Exported macros
Macro, on-all-testcases: Internal macros
Macro, toggle: Exported macros
Macro, use-node: Internal macros
Macro, while: Exported macros
Macro, with-log-or-print: Exported macros
Macro, with-tabu-indices: Exported macros
make-drawer: Exported functions
make-insertion-move: Exported functions
make-move: Internal functions
make-node: Exported functions
make-ts-best-insertion-move: Exported functions
make-vehicle: Exported functions
map0-n: Exported functions
map1-n: Exported functions
mark-nill: Internal functions
max-car: Exported functions
max-cdr: Exported functions
Method, (setf algo-animatep): Exported generic functions
Method, (setf algo-best-fitness): Exported generic functions
Method, (setf algo-best-iteration): Exported generic functions
Method, (setf algo-best-sol): Exported generic functions
Method, (setf algo-current-sol): Exported generic functions
Method, (setf algo-iterations): Exported generic functions
Method, (setf problem-dist-array): Exported generic functions
Method, (setf problem-drawer): Exported generic functions
Method, (setf problem-log-file): Exported generic functions
Method, (setf problem-log-mode): Exported generic functions
Method, (setf problem-to-depot): Exported generic functions
Method, (setf ts-aspirationp): Exported generic functions
Method, (setf ts-candidate-list): Exported generic functions
Method, (setf ts-elite-listp): Exported generic functions
Method, (setf ts-init-heur): Exported generic functions
Method, (setf ts-move-type): Exported generic functions
Method, (setf ts-parameter-f): Exported generic functions
Method, (setf ts-stopping-condition): Exported generic functions
Method, (setf ts-tabu-list): Exported generic functions
Method, (setf ts-tenure): Exported generic functions
Method, algo-animatep: Exported generic functions
Method, algo-best-fitness: Exported generic functions
Method, algo-best-iteration: Exported generic functions
Method, algo-best-sol: Exported generic functions
Method, algo-current-sol: Exported generic functions
Method, algo-desc: Exported generic functions
Method, algo-iterations: Exported generic functions
Method, algo-name: Exported generic functions
Method, assess-move: Exported generic functions
Method, assess-move: Exported generic functions
Method, assess-move: Exported generic functions
Method, assess-move: Exported generic functions
Method, assess-move: Exported generic functions
Method, constraintsp: Exported generic functions
Method, constraintsp: Exported generic functions
Method, constraintsp: Exported generic functions
Method, feasible-movep: Exported generic functions
Method, feasible-movep: Exported generic functions
Method, feasible-movep: Exported generic functions
Method, fitness: Exported generic functions
Method, fitness: Exported generic functions
Method, from: Internal generic functions
Method, func: Internal generic functions
Method, generate-moves: Exported generic functions
Method, generate-moves: Exported generic functions
Method, get-best-insertion-move: Exported generic functions
Method, get-best-insertion-move: Exported generic functions
Method, get-closest-feasible-vehicle: Exported generic functions
Method, get-closest-feasible-vehicle: Exported generic functions
Method, get-closest-feasible-vehicle: Exported generic functions
Method, in-capacityp: Exported generic functions
Method, in-capacityp: Exported generic functions
Method, in-capacityp: Exported generic functions
Method, in-timep: Exported generic functions
Method, index: Internal generic functions
Method, initialize: Exported generic functions
Method, initialize: Exported generic functions
Method, iterate: Exported generic functions
Method, iterate: Exported generic functions
Method, iterate: Exported generic functions
Method, iterate: Exported generic functions
Method, iterate: Exported generic functions
Method, iterate-more: Exported generic functions
Method, iterate-more: Exported generic functions
Method, iterate-more: Exported generic functions
Method, key: Internal generic functions
Method, last-node: Exported generic functions
Method, last-node: Exported generic functions
Method, lists: Internal generic functions
Method, log-to-replp: Exported generic functions
Method, log-to-replp: Exported generic functions
Method, ls: Internal generic functions
Method, ls: Internal generic functions
Method, moves: Internal generic functions
Method, moves: Internal generic functions
Method, node: Exported generic functions
Method, perform-move: Exported generic functions
Method, perform-move: Exported generic functions
Method, perform-move: Exported generic functions
Method, perform-move: Exported generic functions
Method, plot-nodes: Exported generic functions
Method, plot-nodes: Exported generic functions
Method, plot-solution: Exported generic functions
Method, plot-solution: Exported generic functions
Method, pred: Internal generic functions
Method, print-routes: Exported generic functions
Method, print-routes: Exported generic functions
Method, prob: Internal generic functions
Method, problem-desc: Exported generic functions
Method, problem-dist-array: Exported generic functions
Method, problem-drawer: Exported generic functions
Method, problem-fleet: Exported generic functions
Method, problem-log-file: Exported generic functions
Method, problem-log-mode: Exported generic functions
Method, problem-name: Exported generic functions
Method, problem-network: Exported generic functions
Method, problem-to-depot: Exported generic functions
Method, remove-affected-moves: Internal generic functions
Method, remove-node-id: Exported generic functions
Method, remove-node-id: Exported generic functions
Method, remove-node-id: Exported generic functions
Method, route-indices: Exported generic functions
Method, route-indices: Exported generic functions
Method, route-indices: Exported generic functions
Method, run-algo: Exported generic functions
Method, run-algo: Exported generic functions
Method, run-algo: Exported generic functions
Method, run-algo: Exported generic functions
Method, run-algo: Exported generic functions
Method, run-algo: Exported generic functions
Method, run-algo: Exported generic functions
Method, select-move: Exported generic functions
Method, select-move: Exported generic functions
Method, select-move: Exported generic functions
Method, sol: Internal generic functions
Method, solve-prob: Exported generic functions
Method, solve-prob: Exported generic functions
Method, solve-prob: Exported generic functions
Method, solve-prob: Exported generic functions
Method, tabu-list: Exported generic functions
Method, to: Internal generic functions
Method, toggle-legend: Exported generic functions
Method, toggle-legend: Exported generic functions
Method, toggle-plot: Exported generic functions
Method, toggle-plot: Exported generic functions
Method, total-dist: Exported generic functions
Method, total-dist: Exported generic functions
Method, total-dist: Exported generic functions
Method, ts-aspirationp: Exported generic functions
Method, ts-candidate-list: Exported generic functions
Method, ts-elite-listp: Exported generic functions
Method, ts-init-heur: Exported generic functions
Method, ts-move-type: Exported generic functions
Method, ts-parameter-f: Exported generic functions
Method, ts-stopping-condition: Exported generic functions
Method, ts-tabu-list: Exported generic functions
Method, ts-tenure: Exported generic functions
Method, veh: Internal generic functions
Method, veh: Internal generic functions
Method, vehicle: Exported generic functions
move-fitness: Exported functions
move-index: Exported functions
move-node-id: Exported functions
move-p: Internal functions
move-vehicle-id: Exported functions
moves: Internal generic functions
moves: Internal generic functions
moves: Internal generic functions
multi-run: Exported macros
multi-run-algo: Exported macros

N
new-node: Exported macros
new-vehicle: Exported macros
node: Exported generic functions
node: Exported generic functions
node-demand: Exported functions
node-distance: Exported functions
node-duration: Exported functions
node-end: Exported functions
node-id: Exported functions
node-on-routep: Exported functions
node-p: Internal functions
node-start: Exported functions
node-xcor: Exported functions
node-ycor: Exported functions
num-nodes: Internal functions
num-veh: Internal functions

O
on-all-testcases: Internal macros
on-time-and-in-cap-v: Internal functions
on-time-but-overfull-v: Internal functions
on-time-v: Internal functions
one-destinationp: Exported functions
overfull-v: Internal functions

P
perform-move: Exported generic functions
perform-move: Exported generic functions
perform-move: Exported generic functions
perform-move: Exported generic functions
perform-move: Exported generic functions
plot-nodes: Exported generic functions
plot-nodes: Exported generic functions
plot-nodes: Exported generic functions
plot-solution: Exported generic functions
plot-solution: Exported generic functions
plot-solution: Exported generic functions
pred: Internal generic functions
pred: Internal generic functions
print-batch-run-table-header: Internal functions
print-final-results: Exported functions
print-header: Internal functions
print-multi-run-stats: Exported functions
print-routes: Exported generic functions
print-routes: Exported generic functions
print-routes: Exported generic functions
print-timestamp: Exported functions
print-vrp-object: Exported functions
prob: Internal generic functions
prob: Internal generic functions
problem-desc: Exported generic functions
problem-desc: Exported generic functions
problem-dist-array: Exported generic functions
problem-dist-array: Exported generic functions
problem-drawer: Exported generic functions
problem-drawer: Exported generic functions
problem-fleet: Exported generic functions
problem-fleet: Exported generic functions
problem-log-file: Exported generic functions
problem-log-file: Exported generic functions
problem-log-mode: Exported generic functions
problem-log-mode: Exported generic functions
problem-name: Exported generic functions
problem-name: Exported generic functions
problem-network: Exported generic functions
problem-network: Exported generic functions
problem-to-depot: Exported generic functions
problem-to-depot: Exported generic functions

R
random-list-permutation: Exported functions
read-string-while-member: Internal functions
read-string-while-not-member: Internal functions
remove-affected-moves: Internal generic functions
remove-affected-moves: Internal generic functions
remove-index: Exported functions
remove-node-at: Exported functions
remove-node-id: Exported generic functions
remove-node-id: Exported generic functions
remove-node-id: Exported generic functions
remove-node-id: Exported generic functions
route-from: Internal functions
route-indices: Exported generic functions
route-indices: Exported generic functions
route-indices: Exported generic functions
route-indices: Exported generic functions
route-to: Internal functions
run-algo: Exported generic functions
run-algo: Exported generic functions
run-algo: Exported generic functions
run-algo: Exported generic functions
run-algo: Exported generic functions
run-algo: Exported generic functions
run-algo: Exported generic functions
run-algo: Exported generic functions

S
same-lengthp: Internal functions
select-best-tabu: Internal functions
select-move: Exported generic functions
select-move: Exported generic functions
select-move: Exported generic functions
select-move: Exported generic functions
set-dist-array: Exported functions
set-log-file: Exported functions
set-log-mode: Exported functions
set-plot-file: Exported functions
single: Exported functions
sol: Internal generic functions
sol: Internal generic functions
solve-prob: Exported generic functions
solve-prob: Exported generic functions
solve-prob: Exported generic functions
solve-prob: Exported generic functions
solve-prob: Exported generic functions
sort-ignore-nil: Exported functions
sort-moves: Exported functions
space-v: Internal functions
stopping-conditionp: Internal functions
store-pix: Internal functions
sum: Exported functions

T
tabu-list: Exported generic functions
tabu-list: Exported generic functions
time-after-serving-node: Exported functions
times-of-arriving: Internal functions
to: Internal generic functions
to: Internal generic functions
toggle: Exported macros
toggle-animate: Exported functions
toggle-aspiration: Exported functions
toggle-elite-list: Exported functions
toggle-legend: Exported generic functions
toggle-legend: Exported generic functions
toggle-legend: Exported generic functions
toggle-plot: Exported generic functions
toggle-plot: Exported generic functions
toggle-plot: Exported generic functions
total-dist: Exported generic functions
total-dist: Exported generic functions
total-dist: Exported generic functions
total-dist: Exported generic functions
travel-time: Exported functions
ts-aspirationp: Exported generic functions
ts-aspirationp: Exported generic functions
ts-best-insertion-move-fitness: Internal functions
ts-best-insertion-move-index: Internal functions
ts-best-insertion-move-node-id: Internal functions
ts-best-insertion-move-p: Internal functions
ts-best-insertion-move-vehicle-id: Internal functions
ts-candidate-list: Exported generic functions
ts-candidate-list: Exported generic functions
ts-elite-listp: Exported generic functions
ts-elite-listp: Exported generic functions
ts-init-heur: Exported generic functions
ts-init-heur: Exported generic functions
ts-move-type: Exported generic functions
ts-move-type: Exported generic functions
ts-parameter-f: Exported generic functions
ts-parameter-f: Exported generic functions
ts-pars-n: Internal functions
ts-pars-nv: Internal functions
ts-stopping-condition: Exported generic functions
ts-stopping-condition: Exported generic functions
ts-tabu-list: Exported generic functions
ts-tabu-list: Exported generic functions
ts-tenure: Exported generic functions
ts-tenure: Exported generic functions

U
universal-time-to-string: Internal functions
use-node: Internal macros
useless-move: Internal functions

V
veh: Internal generic functions
veh: Internal generic functions
veh: Internal generic functions
veh-in-timep: Exported functions
vehicle: Exported generic functions
vehicle: Exported generic functions
vehicle-capacity: Exported functions
vehicle-id: Exported functions
vehicle-p: Internal functions
vehicle-route: Exported functions
vehicle-speed: Exported functions
vehicle-with-node-id: Exported functions
vrp-object: Internal functions

W
while: Exported macros
with-log-or-print: Exported macros
with-tabu-indices: Exported macros

Jump to:   %   (   2  
A   B   C   D   E   F   G   I   K   L   M   N   O   P   R   S   T   U   V   W  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *  
A   B   C   D   E   F   I   K   L   M   N   P   R   S   T   V   X   Y  
Index Entry  Section

*
*b*: Internal special variables
*finish-time*: Internal special variables
*g*: Internal special variables
*multi-run-finish-time*: Internal special variables
*multi-run-start-time*: Exported special variables
*node-coords*: Exported special variables
*r*: Internal special variables
*start-time*: Exported special variables

A
animatep: Exported classes
aspirationp: Exported classes
asym-net: Internal special variables
asym-tsp: Internal special variables
asym-vrp: Internal special variables

B
best-fitness: Exported classes
best-iteration: Exported classes
best-sol: Exported classes

C
candidate-list: Exported classes
capacity: Exported structures
christofides-1: Exported special variables
christofides-2: Exported special variables
current-sol: Exported classes

D
demand: Exported structures
desc: Exported classes
desc: Exported classes
desc: Exported classes
desc: Exported classes
desc: Exported classes
desc: Exported classes
desc: Exported classes
desc: Exported classes
desc: Exported classes
dist-array: Exported classes
drawer: Exported classes
duration: Exported structures

E
elite-listp: Exported classes
end: Exported structures

F
file: Internal conditions
filename: Exported structures
fitness: Exported structures
fleet: Exported classes
from: Exported conditions
func: Internal conditions

I
id: Exported structures
id: Exported structures
index: Exported structures
index: Internal conditions
init-heur: Exported classes
iterations: Exported classes
iterations: Exported classes

K
key: Exported conditions

L
legend-x: Exported structures
legend-y: Exported structures
legendp: Exported structures
lists: Internal conditions
log-file: Exported classes
log-mode: Exported classes
ls: Exported conditions
ls: Internal conditions

M
max-coord: Exported structures
max-pix: Exported structures
min-coord: Exported structures
move-type: Exported classes
moves: Internal conditions
moves: Internal conditions

N
name: Exported classes
name: Exported classes
name: Exported classes
name: Exported classes
name: Exported classes
name: Exported classes
name: Exported classes
name: Exported classes
name: Exported classes
network: Exported classes
node-id: Exported structures

P
plotp: Exported structures
pred: Internal conditions
prob: Internal conditions

R
route: Exported structures

S
Slot, animatep: Exported classes
Slot, aspirationp: Exported classes
Slot, best-fitness: Exported classes
Slot, best-iteration: Exported classes
Slot, best-sol: Exported classes
Slot, candidate-list: Exported classes
Slot, capacity: Exported structures
Slot, current-sol: Exported classes
Slot, demand: Exported structures
Slot, desc: Exported classes
Slot, desc: Exported classes
Slot, desc: Exported classes
Slot, desc: Exported classes
Slot, desc: Exported classes
Slot, desc: Exported classes
Slot, desc: Exported classes
Slot, desc: Exported classes
Slot, desc: Exported classes
Slot, dist-array: Exported classes
Slot, drawer: Exported classes
Slot, duration: Exported structures
Slot, elite-listp: Exported classes
Slot, end: Exported structures
Slot, file: Internal conditions
Slot, filename: Exported structures
Slot, fitness: Exported structures
Slot, fleet: Exported classes
Slot, from: Exported conditions
Slot, func: Internal conditions
Slot, id: Exported structures
Slot, id: Exported structures
Slot, index: Exported structures
Slot, index: Internal conditions
Slot, init-heur: Exported classes
Slot, iterations: Exported classes
Slot, iterations: Exported classes
Slot, key: Exported conditions
Slot, legend-x: Exported structures
Slot, legend-y: Exported structures
Slot, legendp: Exported structures
Slot, lists: Internal conditions
Slot, log-file: Exported classes
Slot, log-mode: Exported classes
Slot, ls: Exported conditions
Slot, ls: Internal conditions
Slot, max-coord: Exported structures
Slot, max-pix: Exported structures
Slot, min-coord: Exported structures
Slot, move-type: Exported classes
Slot, moves: Internal conditions
Slot, moves: Internal conditions
Slot, name: Exported classes
Slot, name: Exported classes
Slot, name: Exported classes
Slot, name: Exported classes
Slot, name: Exported classes
Slot, name: Exported classes
Slot, name: Exported classes
Slot, name: Exported classes
Slot, name: Exported classes
Slot, network: Exported classes
Slot, node-id: Exported structures
Slot, plotp: Exported structures
Slot, pred: Internal conditions
Slot, prob: Internal conditions
Slot, route: Exported structures
Slot, sol: Internal conditions
Slot, speed: Exported structures
Slot, start: Exported structures
Slot, stopping-condition: Exported classes
Slot, tabu-list: Exported classes
Slot, tabu-list: Internal conditions
Slot, tabu-parameter-f: Exported classes
Slot, tabu-tenure: Exported classes
Slot, to: Exported conditions
Slot, to-depot: Exported classes
Slot, veh: Internal conditions
Slot, veh: Internal conditions
Slot, vehicle-id: Exported structures
Slot, x-pos: Exported structures
Slot, xcor: Exported structures
Slot, y-pos: Exported structures
Slot, ycor: Exported structures
sol: Internal conditions
solomon100: Exported special variables
solomon25: Exported special variables
Special Variable, *b*: Internal special variables
Special Variable, *finish-time*: Internal special variables
Special Variable, *g*: Internal special variables
Special Variable, *multi-run-finish-time*: Internal special variables
Special Variable, *multi-run-start-time*: Exported special variables
Special Variable, *node-coords*: Exported special variables
Special Variable, *r*: Internal special variables
Special Variable, *start-time*: Exported special variables
Special Variable, asym-net: Internal special variables
Special Variable, asym-tsp: Internal special variables
Special Variable, asym-vrp: Internal special variables
Special Variable, christofides-1: Exported special variables
Special Variable, christofides-2: Exported special variables
Special Variable, solomon100: Exported special variables
Special Variable, solomon25: Exported special variables
Special Variable, test-tsp: Exported special variables
Special Variable, test-vrp: Exported special variables
speed: Exported structures
start: Exported structures
stopping-condition: Exported classes

T
tabu-list: Exported classes
tabu-list: Internal conditions
tabu-parameter-f: Exported classes
tabu-tenure: Exported classes
test-tsp: Exported special variables
test-vrp: Exported special variables
to: Exported conditions
to-depot: Exported classes

V
veh: Internal conditions
veh: Internal conditions
vehicle-id: Exported structures

X
x-pos: Exported structures
xcor: Exported structures

Y
y-pos: Exported structures
ycor: Exported structures

Jump to:   *  
A   B   C   D   E   F   I   K   L   M   N   P   R   S   T   V   X   Y  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   A   C   D   E   F   G   I   L   M   N   O   P   S   T   U   V  
Index Entry  Section

A
algo: Exported classes
all-moves-tabu: Internal conditions

C
Class, algo: Exported classes
Class, cvrp: Exported classes
Class, cvrptw: Exported classes
Class, greedy-append: Exported classes
Class, greedy-best-insertion: Exported classes
Class, greedy-nn: Exported classes
Class, problem: Exported classes
Class, tabu-search: Exported classes
Class, vrptw: Exported classes
Condition, all-moves-tabu: Internal conditions
Condition, empty-network: Internal conditions
Condition, file-not-recognized: Internal conditions
Condition, index-out-of-bounds: Internal conditions
Condition, infeasible-solution: Internal conditions
Condition, list-of-nils: Exported conditions
Condition, missing-drawer-object: Internal conditions
Condition, no-capacities-vehicle: Internal conditions
Condition, no-feasible-move: Internal conditions
Condition, no-initial-feasible-solution: Internal conditions
Condition, no-speed-vehicle: Internal conditions
Condition, not-equal-length: Internal conditions
Condition, same-origin-destination: Exported conditions
Condition, unaccepted-predicate: Internal conditions
cvrp: Exported classes
cvrptw: Exported classes

D
drawer: Exported structures

E
empty-network: Internal conditions

F
file-not-recognized: Internal conditions

G
greedy-append: Exported classes
greedy-best-insertion: Exported classes
greedy-nn: Exported classes

I
index-out-of-bounds: Internal conditions
infeasible-solution: Internal conditions
insertion-move: Exported structures

L
list-of-nils: Exported conditions

M
missing-drawer-object: Internal conditions
move: Exported structures

N
no-capacities-vehicle: Internal conditions
no-feasible-move: Internal conditions
no-initial-feasible-solution: Internal conditions
no-speed-vehicle: Internal conditions
node: Exported structures
not-equal-length: Internal conditions

O
open-vrp: The open-vrp system
open-vrp: The open-vrp package
open-vrp-lib: The open-vrp-lib system
open-vrp.algo: The open-vrp<dot>algo package
open-vrp.classes: The open-vrp<dot>classes package
open-vrp.test: The open-vrp<dot>test package
open-vrp.util: The open-vrp<dot>util package

P
Package, open-vrp: The open-vrp package
Package, open-vrp.algo: The open-vrp<dot>algo package
Package, open-vrp.classes: The open-vrp<dot>classes package
Package, open-vrp.test: The open-vrp<dot>test package
Package, open-vrp.util: The open-vrp<dot>util package
problem: Exported classes

S
same-origin-destination: Exported conditions
Structure, drawer: Exported structures
Structure, insertion-move: Exported structures
Structure, move: Exported structures
Structure, node: Exported structures
Structure, ts-best-insertion-move: Exported structures
Structure, vehicle: Exported structures
System, open-vrp: The open-vrp system
System, open-vrp-lib: The open-vrp-lib system

T
tabu-search: Exported classes
ts-best-insertion-move: Exported structures

U
unaccepted-predicate: Internal conditions

V
vehicle: Exported structures
vrptw: Exported classes

Jump to:   A   C   D   E   F   G   I   L   M   N   O   P   S   T   U   V