Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion docs/src/modules/ROOT/nav.adoc
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
* xref:introduction.adoc[leveloffset=+1]
* xref:planning-ai-concepts.adoc[leveloffset=+1]
* Getting started
** xref:quickstart/overview.adoc[Overview]
** xref:quickstart/service/getting-started.adoc[Build as a service]
Expand Down
1 change: 0 additions & 1 deletion docs/src/modules/ROOT/pages/.index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ endif::[]

include::introduction.adoc[leveloffset=+1]
include::quickstart/.quickstart.adoc[leveloffset=+1]
include::planning-ai-concepts.adoc[leveloffset=+1]
include::running-timefold-solver/overview.adoc[leveloffset=+1]
include::running-timefold-solver/configuration.adoc[leveloffset=+1]
include::running-timefold-solver/library/library-integration.adoc[leveloffset=+1]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ To find out more, see xref:commercial-editions/commercial-editions.adoc[Plus / E

== Does Timefold offer pre-built models?

Timefold offers a suite of pre-built PlanningAI models designed to expedite development by addressing complex scheduling and routing challenges across various industries.
Timefold offers a suite of pre-built planning models designed to expedite development by addressing complex scheduling and routing challenges across various industries.
These models are built upon _Timefold Solver Enterprise Edition_ technology and are accessible through a REST API, facilitating seamless integration into your applications.

See all available models on https://app.timefold.ai/[our platform].
Expand Down
45 changes: 33 additions & 12 deletions docs/src/modules/ROOT/pages/introduction.adoc
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[#introduction]
:page-aliases: ../index.adoc
:page-aliases: ../index.adoc, planning-ai-concepts.adoc
:doctype: book
:sectnums:
:icons: font
Expand All @@ -8,7 +8,7 @@
= Introduction

Every organization faces planning problems: providing products or services with a limited set of _constrained_ resources (employees, assets, time, and money).
Timefold Solver’s xref:planning-ai-concepts.adoc[PlanningAI] optimizes these problems to do more business with fewer resources using Constraint Satisfaction Programming.
https://timefold.ai[Timefold Solver] is a lightweight, embeddable constraint satisfaction engine that optimizes these problems to do more business with fewer resources.
Comment thread
TomCools marked this conversation as resolved.

[TIP]
====
Expand All @@ -18,22 +18,43 @@ For common planning problems, we also offer ready-made models that can be seamle
Explore our documentation and available models https://docs.timefold.ai/[here]
====

https://timefold.ai[Timefold Solver] is a lightweight, embeddable constraint satisfaction engine which optimizes planning problems.
Example usecases include:

.Timefold Solver's use cases include vehicle routing, employee scheduling, rostering, bin packing, and equipment scheduling.
image::introduction/useCaseOverview.png[align="center"]

Timefold Solver is 100% pure Java^TM^ and runs on Java {java-version} or higher.
It xref:running-timefold-solver/library/integration.adoc#integration[integrates very easily] with other technologies.
Timefold Solver works on any Java Virtual Machine and is compatible with the major JVM languages and all major platforms.
It also supports Kotlin.
== Planning problems

A planning problem arises from a need to achieve a *goal* by organizing available *resources* under a set of *constraints*:

* Building a house, where workers and materials are the resources, and construction order and site hours are the constraints.
* Staffing a hospital shift, where qualified personnel are the resources, and working hour rules and required specializations are the constraints.
* Routing delivery vehicles, where vehicles and drivers are the resources, and time windows, capacity, and distance are the constraints.

Planning problems grow combinatorially as resources and constraints are added.
Even a small field service problem with 4 vehicles and 8 visits produces over 19 million possible assignments for a brute-force algorithm to consider.
Timefold Solver evaluates this space efficiently, finding good solutions in a fraction of the time it would take to do manually.

== Constraints

Constraints can be classified as *hard*, *medium*, or *soft*:

* **Hard constraints** are rules that must not be broken — for example, an employee can only be in one place at a time, or dependent tasks must complete in order.
Violating a hard constraint produces an infeasible plan.
* **Medium constraints** apply when resources are scarce — for instance, assign as many customer visits as possible when there aren't enough technicians to cover all of them.
* **Soft constraints** express business preferences — minimize travel time, assign employees to preferred shifts, and similar goals.

Solutions are scored to reflect how well they satisfy these constraints.
For example: `0hard/-257medium/-6119520soft`.
A solution with zero hard constraint violations is always considered better than one that breaks even a single hard constraint, regardless of the soft score.

== Technology

Timefold Solver is 100% pure Java^TM^ and runs on Java {java-version} or higher, on any JVM platform.
It integrates natively with xref:running-timefold-solver/library/quarkus.adoc[Quarkus] and xref:running-timefold-solver/library/spring-boot.adoc[Spring Boot], and supports Kotlin.

You can use Timefold Solver to build an xref:quickstart/overview.adoc#runAsAService[optimization service],
You can use it to build an xref:quickstart/overview.adoc#runAsAService[optimization service],
or embed it into your software as a xref:quickstart/overview.adoc#embedAsALibrary[library].

:!sectnums:
== Next

* Follow the xref:quickstart/overview.adoc[Quickstart Example] to tackle your first planning problem.
* Learn about some important concepts used in the realm of xref:planning-ai-concepts.adoc[PlanningAI].
* Follow the xref:quickstart/overview.adoc[Quickstart] to tackle your first planning problem.
93 changes: 0 additions & 93 deletions docs/src/modules/ROOT/pages/planning-ai-concepts.adoc

This file was deleted.