-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2,726 changed files
with
4,113,537 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
version: 2 | ||
updates: | ||
- package-ecosystem: "maven" # See documentation for possible values | ||
directory: "/" # Location of package manifests | ||
schedule: | ||
interval: "weekly" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
name: Test coverage | ||
|
||
on: | ||
# Enables the workflow to run on PRs from forks; | ||
# token sharing is safe here, because enterprise is a private repo and therefore fully under our control. | ||
pull_request_target: | ||
branches: [main, '*.x'] | ||
types: | ||
- opened | ||
- reopened | ||
- synchronize | ||
paths-ignore: | ||
- 'LICENSE*' | ||
- '.gitignore' | ||
- '**.md' | ||
- '**.adoc' | ||
- '*.txt' | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
concurrency: | ||
group: pr-${{ github.event_name }}-${{ github.head_ref }} | ||
cancel-in-progress: true | ||
timeout-minutes: 120 | ||
steps: | ||
- name: Setup Temurin 21 and Maven | ||
uses: actions/setup-java@v4 | ||
with: | ||
java-version: '21' | ||
distribution: 'temurin' | ||
cache: 'maven' | ||
|
||
# Clone timefold-solver | ||
- name: Checkout timefold-solver | ||
uses: actions/checkout@v4 | ||
with: | ||
repository: TimefoldAI/timefold-solver | ||
path: ./timefold-solver | ||
- name: Quickly build timefold-solver | ||
working-directory: ./timefold-solver | ||
shell: bash | ||
run: mvn -B -Dquickly clean install | ||
|
||
# Clone timefold-solver-enterprise | ||
- name: Checkout timefold-solver-enterprise | ||
uses: actions/checkout@v4 | ||
with: | ||
repository: TimefoldAI/timefold-solver-enterprise | ||
token: ${{ secrets.JRELEASER_GITHUB_TOKEN }} # Safe; only used to clone the repo and not stored in the fork. | ||
path: ./timefold-solver-enterprise | ||
- name: Quickly build timefold-solver-enterprise | ||
working-directory: ./timefold-solver-enterprise | ||
shell: bash | ||
run: mvn -B -Dquickly clean install | ||
|
||
# Clone timefold-solver-benchmarks | ||
- name: Checkout timefold-solver-benchmarks | ||
uses: actions/checkout@v4 | ||
with: | ||
repository: TimefoldAI/timefold-solver-benchmarks | ||
path: ./timefold-solver-benchmarks | ||
- name: Build and test timefold-solver-benchmarks | ||
working-directory: ./timefold-solver-benchmarks | ||
shell: bash | ||
run: mvn -B clean verify |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
name: Turtle Tests | ||
|
||
on: | ||
schedule: | ||
- cron: '0 2 * * 6' # Every Saturday at 2am UTC | ||
|
||
jobs: | ||
test: | ||
concurrency: | ||
group: turtle-${{ matrix.example }} | ||
cancel-in-progress: true | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
example: [cloudbalancing, conferencescheduling, curriculumcourse, examination, flightcrewscheduling, machinereassignment, meetingscheduling, nurserostering, pas, projectjobscheduling, taskassigning, tennis, travelingtournament, tsp, vehiclerouting] | ||
steps: | ||
- name: Setup Temurin 21 and Maven | ||
uses: actions/setup-java@v4 | ||
with: | ||
java-version: '21' | ||
distribution: 'temurin' | ||
cache: 'maven' | ||
|
||
# Clone timefold-solver | ||
- name: Checkout timefold-solver | ||
uses: actions/checkout@v4 | ||
with: | ||
repository: TimefoldAI/timefold-solver | ||
path: ./timefold-solver | ||
- name: Quickly build timefold-solver | ||
working-directory: ./timefold-solver | ||
shell: bash | ||
run: mvn -B -Dquickly clean install | ||
|
||
# Clone timefold-solver-enterprise | ||
- name: Checkout timefold-solver-enterprise | ||
uses: actions/checkout@v4 | ||
with: | ||
repository: TimefoldAI/timefold-solver-enterprise | ||
token: ${{ secrets.JRELEASER_GITHUB_TOKEN }} # Safe; only used to clone the repo and not stored in the fork. | ||
path: ./timefold-solver-enterprise | ||
- name: Quickly build timefold-solver-enterprise | ||
working-directory: ./timefold-solver-enterprise | ||
shell: bash | ||
run: mvn -B -Dquickly clean install | ||
|
||
# Clone timefold-solver-benchmarks | ||
- name: Checkout timefold-solver-benchmarks | ||
uses: actions/checkout@v4 | ||
with: | ||
repository: TimefoldAI/timefold-solver-benchmarks | ||
path: ./timefold-solver-benchmarks | ||
- name: Build and test timefold-solver-benchmarks | ||
working-directory: ./timefold-solver-benchmarks | ||
shell: bash | ||
run: mvn clean install -DskipTests | ||
|
||
- name: Run the test per example | ||
working-directory: ./timefold-solver-benchmarks/examples | ||
run: mvn -B -Dai.timefold.solver.benchmarks.examples.turtle=${{matrix.example}} -Dai.timefold.solver.benchmarks.examples.turtle.runTimeLimitMinutes=300 test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
*.log | ||
hs_err_pid* | ||
/.idea | ||
/target | ||
/local | ||
*.iml | ||
dependency-reduced-pom.xml | ||
/results | ||
/async-profiler*/**/* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
= Select Benchmarks for Timefold Solver | ||
|
||
This repository is a continuous work in progress, and it will change as our needs change. | ||
There are no guarantees that anything in this repository will still be here tomorrow, | ||
or that it will look anything like it looks today, | ||
or that it will work against any particular version of the Solver. | ||
|
||
== Usage | ||
|
||
To run the benchmarks, you need access to Timefold Solver Enterprise Edition. | ||
Having acquired that, run any of the benchmarks: | ||
|
||
[source,shell] | ||
---- | ||
./run-coldstart.sh | ||
./run-scoredirector.sh | ||
---- | ||
|
||
In the default configuration, the benchmark will run for many hours and fully occupy 1 CPU. | ||
Only run the benchmark on a quiet machine, otherwise results will be skewed. | ||
|
||
=== Async profiler | ||
|
||
The benchmark can optionally produce flame graphs using https://github.com/async-profiler/async-profiler[Async Profiler]. | ||
On the first run, if Async Profiler is not found, a message will be logged. | ||
Let the message point you in the right direction. | ||
|
||
== Configuring the benchmark | ||
|
||
The benchmark is configured using the `coldstart-benchmark.properties` and `scoredirector-benchmark.properties` file. | ||
The file is well-commented, and should be self-explanatory. | ||
Modify it to suit your needs. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# Not including this file with your benchmarks will execute all examples with the default values. | ||
|
||
# Possible values: conference_scheduling,tsp,vehicle_routing | ||
example=conference_scheduling,tsp,vehicle_routing | ||
|
||
# How many forks to run each example with. | ||
# Default is 160. | ||
#forks=160 | ||
|
||
# How many warmup iterations to run each example with. | ||
# Default is 0. | ||
#warmup_iterations=0 | ||
|
||
# How many measurement iterations to run each example with. | ||
# Default is 1. | ||
#measurement_iterations=1 | ||
|
||
# Ratio of benchmark score error to benchmark score above which warnings will be output. | ||
# The higher the threshold, the less reliable the benchmark score is. | ||
# Default is 0.04 (±4%). | ||
#relative_score_error_threshold=0.04 |
Oops, something went wrong.