mapbox / mapbox/node-or-tools

Soft time and capacity bounds, potentially with penalty

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

Nobody has claimed this yet.

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

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.

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.

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.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.