Soft time and capacity bounds, potentially with penalty

Open
#7 0 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
cpp, node.js
Domain
api

Research direction

The issue names RoutingDimension and its Soft member functions; start there and inspect how the node-or-tools bindings expose existing hard bounds. Define the supported soft time and capacity API, then verify that exceeding bounds changes solution cost proportionally with binding-level tests covering both cases.

Written by the indexing model from the issue text.

Description

We should allow for the user to not only add hard bounds (think: time window of 10am--11am, or a specific capacity) but also soft bounds which will add proportionally to the solution's cost if exceeded.

Use-case: think of a hard time window of 10am--1am. Maybe we want to be on time as often as possible. We could set a soft upper bound e.g. of 10:15am adding a penalty proportional to how late we are)


Implementation: see RoutingDimension type's Soft member functions adding penalties to the cost.

Dominant language
C++
Stars
155
Forks
47
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from mapbox/node-or-tools

All issues in mapbox/node-or-tools

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.