Coder Social home page Coder Social logo

apache / incubator-kie-optaplanner-quickstarts Goto Github PK

View Code? Open in Web Editor NEW
319.0 48.0 156.0 7.6 MB

OptaPlanner quick starts for AI optimization: many use cases shown in many different technologies.

Home Page: https://www.optaplanner.org/

License: Apache License 2.0

Java 67.21% JavaScript 18.96% HTML 7.80% Kotlin 3.47% Batchfile 0.29% Shell 1.90% CSS 0.03% Groovy 0.36%
java kotlin maven gradle quarkus spring-boot artificial-intelligence optimization-algorithms mathematical-optimization constraint-solver solver operations-research

incubator-kie-optaplanner-quickstarts's Introduction

OptaPlanner Quickstarts

Overview of all Quickstarts

Use case quickstarts Technology quickstarts

Get started

Run the OptaPlanner quickstarts now:

  1. Install JDK 11 or later with JAVA_HOME configured appropriately.

  2. Clone this repository to build and run the quickstarts showcase:

    $ git clone https://github.com/kiegroup/optaplanner-quickstarts.git
    $ cd optaplanner-quickstarts
    $ ./runQuickstartsFromSource.sh

Use cases

School timetabling

Assign lessons to timeslots and rooms to produce a better schedule for teachers and students.

quarkus school timetabling screenshot

Without a UI:

Facility location problem

Pick the best geographical locations for new stores, distribution centers, covid test centers or telco masts.

quarkus facility location screenshot

Maintenance scheduling

Schedule maintenance jobs to crews over time to reduce both premature and overdue maintenance.

quarkus maintenance scheduling screenshot

Call center

Schedule incoming calls to employees matching skills and availability.

quarkus call center screenshot

Vaccination scheduling

Assign people to vaccination injection appointments over time at vaccination centers to end a pandemic sooner.

quarkus vaccination scheduling screenshot

Order Picking

Generate an optimal picking plan for completing a set of orders.

quarkus order picking screenshot

Employee Scheduling

Schedule shifts to employees, accounting for employee availability and shift skill requirements.

quarkus employee scheduling screenshot

Vehicle Routing

Find the most efficient routes for a fleet of vehicles.

quarkus vehicle routing screenshot

OptaPlanner examples (desktop)

Many examples in desktop technology.

optaplanner examples screenshot

More information

Learn more on www.optaplanner.org.

incubator-kie-optaplanner-quickstarts's People

Contributors

bacciotti avatar bredentek avatar bsig-gh-bot avatar christopher-chianelli avatar cristianonicolai avatar cuijulian avatar dependabot[bot] avatar dupliaka avatar evacchi avatar ge0ffrey avatar ginxo avatar kie-ci avatar kie-ci5 avatar lampajr avatar mareknovotny avatar mbiarnes avatar radtriste avatar rsynek avatar taiuti avatar triceo avatar wmedvede avatar yurloc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

incubator-kie-optaplanner-quickstarts's Issues

Load balance flight duration

I want to know in the flightcrewscheduling prolem ,how to change this soft contraint:Load balance flight duration total per employee,because
I want to balance part of employee's flight duration,not all the employee。How to do it?
Need your help,thank you.

FlightCrewSolution-null

Hello,now I can get a result quickly.Look the result:
GL0537→LSS0653, LSS0653→FU0721, FU0721→LSX0754, LSX0754→NH0818, NH0818→LSS0849, LSS0849→FU0918, FU0918→LSX0948, LSX0948→NH1013, NH1013→LH1044

But I want to transfer betweent two flights has some time space >=15 minutes,like:
GL0537→LSS0653, LSS0709→FU0738,

So I change this function below,but it work a long time and get no solution(FlightCrewSolution-null).What can I do?

    public long countInvalidConnections() {
        // TODO Cache this to improve example performance.
        // Especially useful for Constraint Streams, by which this is called multiple times per Employee.
        long count = 0L;
        FlightAssignment previousAssignment = null;
        for (FlightAssignment assignment : flightAssignmentSet) {
            if (previousAssignment != null
                    && (previousAssignment.getFlight().getArrivalAirport() != assignment.getFlight().getDepartureAirport()||assignment.getFlight().getDepartureUTCDateTime().compareTo(previousAssignment.getFlight().getArrivalUTCDateTime())<15)) {
                count++;
            }
            previousAssignment = assignment;
        }
        return count;
    }

Exception in thread "AWT-EventQueue-0" java.lang.IllegalStateException: Failed writing outputSolutionFile (C:\Users\AppData\Local\Temp\970flights-1days.xlsx14207723011296920002.xlsx) for solution (FlightCrewSolution-null).
at org.optaplanner.examples.flightcrewscheduling.persistence.FlightCrewSchedulingXlsxFileIO.write(FlightCrewSchedulingXlsxFileIO.java:86)
at org.optaplanner.examples.flightcrewscheduling.persistence.FlightCrewSchedulingXlsxFileIO.write(FlightCrewSchedulingXlsxFileIO.java:1)
at org.optaplanner.examples.flightcrewscheduling.swingui.FlightCrewSchedulingPanel.lambda$0(FlightCrewSchedulingPanel.java:54)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6626)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389)
at java.desktop/java.awt.Component.processEvent(Component.java:6391)
at java.desktop/java.awt.Container.processEvent(Container.java:2266)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.IllegalArgumentException: Merged region M3 must contain 2 or more cells
at org.apache.poi.xssf.usermodel.XSSFSheet.addMergedRegion(XSSFSheet.java:339)
at org.apache.poi.xssf.usermodel.XSSFSheet.addMergedRegion(XSSFSheet.java:304)
at org.optaplanner.examples.flightcrewscheduling.persistence.FlightCrewSchedulingXlsxFileIO$FlightCrewSchedulingXlsxWriter.writeEmployeesView(FlightCrewSchedulingXlsxFileIO.java:586)
at org.optaplanner.examples.flightcrewscheduling.persistence.FlightCrewSchedulingXlsxFileIO$FlightCrewSchedulingXlsxWriter.write(FlightCrewSchedulingXlsxFileIO.java:372)
at org.optaplanner.examples.flightcrewscheduling.persistence.FlightCrewSchedulingXlsxFileIO.write(FlightCrewSchedulingXlsxFileIO.java:83)
... 37 more

970flights-1days.xlsx

HTTP Request to /timeTable failed

Hi,

I had already reported this issue (see 109) and it was closed as resolved, but I'm arfaid I must tell you, it is not.
The behaviour stayed exactly the same as before.

My setup and steps have stayed the same.
(Appart from using the lates sources from git - also I'm not sure if anything appart from dependencies has actually changed)

Setup:
Win10,
eclipse 4.19.0,
gradle 6.8

I went with 'live coding' and started the app with the gradle command as suggested in the readme.
When refreshing the browser the initial call to 'getTimeTable()' crashes.

It seems like a Path is created from an URI causing the error.
Please let me know, if I am doing anthing wrong, or if you have any further questions.

Working Directory: C:\Users\####\git\optaplanner-quickstarts\quarkus-school-timetabling
Gradle user home: C:\Users\####\.gradle
Gradle Distribution: Gradle wrapper from target build
Gradle Version: 6.8
Java Home: C:\java\jdk-11.0.2+9_win64
JVM Arguments: None
Program Arguments: None
Build Scans Enabled: false
Offline Mode Enabled: false
Gradle Tasks: quarkusDev


> Task :quarkusGenerateCode
preparing quarkus application

> Task :compileJava UP-TO-DATE
> Task :processResources UP-TO-DATE
> Task :classes UP-TO-DATE

> Task :quarkusDev
Listening for transport dt_socket at address: 5005
__  ____  __  _____   ___  __ ____  ______ 
 --/ __ \/ / / / _ | / _ \/ //_/ / / / __/ 
 -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \   
--\___\_\____/_/ |_/_/|_/_/|_|\____/___/   
2021-06-16 13:14:14,639 INFO  [io.quarkus] (Quarkus Main Thread) quarkus-school-timetabling 0.1.0-SNAPSHOT on JVM (powered by Quarkus 1.13.3.Final) started in 16.827s. Listening on: http://localhost:8080
2021-06-16 13:14:14,644 INFO  [io.quarkus] (Quarkus Main Thread) Profile dev activated. Live Coding activated.
2021-06-16 13:14:14,644 INFO  [io.quarkus] (Quarkus Main Thread) Installed features: [agroal, cdi, hibernate-orm, hibernate-orm-panache, hibernate-orm-rest-data-panache, jdbc-h2, mutiny, narayana-jta, optaplanner, optaplanner-jackson, resteasy, resteasy-jackson, smallrye-context-propagation, webjars-locator]
2021-06-16 13:20:01,390 ERROR [io.qua.ver.htt.run.QuarkusErrorHandler] (executor-thread-1) HTTP Request to /timeTable failed, error id: 986939e6-4c15-4b28-9be4-d9fef4865aff-1: org.jboss.resteasy.spi.UnhandledException: java.nio.file.InvalidPathException: Illegal char <:> at index 4: file:///C:/Users/####/.gradle/caches/modules-2/files-2.1/org.optaplanner/optaplanner-quarkus/8.7.0.Final/886edda6912bc7f4fff3a394b18794bad59a7732/optaplanner-quarkus-8.7.0.Final.jar
	at org.jboss.resteasy.core.ExceptionHandler.handleApplicationException(ExceptionHandler.java:106)
	at org.jboss.resteasy.core.ExceptionHandler.handleException(ExceptionHandler.java:372)
	at org.jboss.resteasy.core.SynchronousDispatcher.writeException(SynchronousDispatcher.java:218)
	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:519)
	at org.jboss.resteasy.core.SynchronousDispatcher.lambda$invoke$4(SynchronousDispatcher.java:261)
	at org.jboss.resteasy.core.SynchronousDispatcher.lambda$preprocess$0(SynchronousDispatcher.java:161)
	at org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:364)
	at org.jboss.resteasy.core.SynchronousDispatcher.preprocess(SynchronousDispatcher.java:164)
	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:247)
	at io.quarkus.resteasy.runtime.standalone.RequestDispatcher.service(RequestDispatcher.java:73)
	at io.quarkus.resteasy.runtime.standalone.VertxRequestHandler.dispatch(VertxRequestHandler.java:138)
	at io.quarkus.resteasy.runtime.standalone.VertxRequestHandler.access$000(VertxRequestHandler.java:41)
	at io.quarkus.resteasy.runtime.standalone.VertxRequestHandler$1.run(VertxRequestHandler.java:93)
	at io.quarkus.runtime.CleanableExecutor$CleaningRunnable.run(CleanableExecutor.java:231)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2415)
	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1452)
	at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
	at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
	at java.base/java.lang.Thread.run(Thread.java:834)
	at org.jboss.threads.JBossThread.run(JBossThread.java:501)
Caused by: java.nio.file.InvalidPathException: Illegal char <:> at index 4: file:///C:/Users/####/.gradle/caches/modules-2/files-2.1/org.optaplanner/optaplanner-quarkus/8.7.0.Final/886edda6912bc7f4fff3a394b18794bad59a7732/optaplanner-quarkus-8.7.0.Final.jar
	at java.base/sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182)
	at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
	at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
	at java.base/sun.nio.fs.WindowsPath.parse(WindowsPath.java:92)
	at java.base/sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:229)
	at jdk.compiler/com.sun.tools.javac.file.FSInfo.getJarClassPath(FSInfo.java:112)
	at jdk.compiler/com.sun.tools.javac.file.CacheFSInfo.getJarClassPath(CacheFSInfo.java:93)
	at jdk.compiler/com.sun.tools.javac.file.Locations$SearchPath.addJarClassPath(Locations.java:423)
	at jdk.compiler/com.sun.tools.javac.file.Locations$SearchPath.addFile(Locations.java:413)
	at jdk.compiler/com.sun.tools.javac.file.Locations$SearchPath.addFiles(Locations.java:345)
	at jdk.compiler/com.sun.tools.javac.file.Locations$SearchPath.addFiles(Locations.java:333)
	at jdk.compiler/com.sun.tools.javac.file.Locations$SearchPath.addFiles(Locations.java:339)
	at jdk.compiler/com.sun.tools.javac.file.Locations$ClassPathLocationHandler.computePath(Locations.java:779)
	at jdk.compiler/com.sun.tools.javac.file.Locations$SimpleLocationHandler.setPaths(Locations.java:721)
	at jdk.compiler/com.sun.tools.javac.file.Locations.setLocation(Locations.java:2098)
	at jdk.compiler/com.sun.tools.javac.file.JavacFileManager.setLocation(JavacFileManager.java:927)
	at org.kie.memorycompiler.jdknative.NativeJavaCompiler.compile(NativeJavaCompiler.java:80)
	at org.kie.memorycompiler.AbstractJavaCompiler.compile(AbstractJavaCompiler.java:41)
	at org.kie.memorycompiler.KieMemoryCompiler.compileNoLoad(KieMemoryCompiler.java:130)
	at org.kie.memorycompiler.KieMemoryCompiler.compileNoLoad(KieMemoryCompiler.java:102)
	at org.kie.memorycompiler.KieMemoryCompiler.compile(KieMemoryCompiler.java:53)
	at org.kie.memorycompiler.KieMemoryCompiler.compile(KieMemoryCompiler.java:39)
	at org.drools.ancompiler.KieBaseUpdaterANC.inMemoryUpdate(KieBaseUpdaterANC.java:66)
	at org.drools.ancompiler.KieBaseUpdaterANC.run(KieBaseUpdaterANC.java:52)
	at org.drools.ancompiler.KieBaseUpdaterANC.generateAndSetInMemoryANC(KieBaseUpdaterANC.java:99)
	at org.optaplanner.core.impl.score.stream.drools.DroolsConstraintSessionFactory.buildKieBaseFromModel(DroolsConstraintSessionFactory.java:85)
	at org.optaplanner.core.impl.score.stream.drools.DroolsConstraintSessionFactory.buildSession(DroolsConstraintSessionFactory.java:126)
	at org.optaplanner.core.impl.score.director.stream.DroolsConstraintStreamScoreDirectorFactory.newConstraintStreamingSession(DroolsConstraintStreamScoreDirectorFactory.java:50)
	at org.optaplanner.core.impl.score.director.stream.DroolsConstraintStreamScoreDirector.resetConstraintStreamingSession(DroolsConstraintStreamScoreDirector.java:74)
	at org.optaplanner.core.impl.score.director.stream.DroolsConstraintStreamScoreDirector.setWorkingSolution(DroolsConstraintStreamScoreDirector.java:66)
	at org.optaplanner.core.impl.score.DefaultScoreManager.updateScore(DefaultScoreManager.java:45)
	at org.acme.schooltimetabling.rest.TimeTableResource.getTimeTable(TimeTableResource.java:66)
	at org.acme.schooltimetabling.rest.TimeTableResource_Subclass.getTimeTable$$superaccessor5(TimeTableResource_Subclass.zig:836)
	at org.acme.schooltimetabling.rest.TimeTableResource_Subclass$$function$$5.apply(TimeTableResource_Subclass$$function$$5.zig:29)
	at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:54)
	at io.quarkus.arc.runtime.devconsole.InvocationInterceptor.proceed(InvocationInterceptor.java:63)
	at io.quarkus.arc.runtime.devconsole.InvocationInterceptor.monitor(InvocationInterceptor.java:49)
	at io.quarkus.arc.runtime.devconsole.InvocationInterceptor_Bean.intercept(InvocationInterceptor_Bean.zig:521)
	at io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:41)
	at io.quarkus.arc.impl.AroundInvokeInvocationContext.perform(AroundInvokeInvocationContext.java:41)
	at io.quarkus.arc.impl.InvocationContexts.performAroundInvoke(InvocationContexts.java:32)
	at org.acme.schooltimetabling.rest.TimeTableResource_Subclass.getTimeTable(TimeTableResource_Subclass.zig:794)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:170)
	at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:130)
	at org.jboss.resteasy.core.ResourceMethodInvoker.internalInvokeOnTarget(ResourceMethodInvoker.java:643)
	at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTargetAfterFilter(ResourceMethodInvoker.java:507)
	at org.jboss.resteasy.core.ResourceMethodInvoker.lambda$invokeOnTarget$2(ResourceMethodInvoker.java:457)
	at org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:364)
	at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:459)
	at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:419)
	at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:393)
	at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:68)
	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:492)
	... 18 more
	Suppressed: java.lang.NullPointerException
		at org.optaplanner.core.impl.score.director.stream.DroolsConstraintStreamScoreDirector.close(DroolsConstraintStreamScoreDirector.java:120)
		at org.optaplanner.core.impl.score.DefaultScoreManager.updateScore(DefaultScoreManager.java:44)
		... 44 more

Compilation error

Hi,
I'm trying to build and run the project, but I've got the following error :

[ERROR] No plugin found for prefix 'quarkus' in the current project and in the plugin groups

I could not find any help on the subject, would you have any hint ?

Thx

HTTP Request to /timeTable failed

Hi,

I tried to get the 'quarkus-school-timetabling' example running.

Setup:
Win10,
eclipse 4.19.0,
gradle 6.8

I went with 'live coding' and started the app with the gradle command as suggested in the readme.
When refreshing the browser the initial call to 'getTimeTable()' crashes.

I updated to the lates Quarkus, but the behaviour also appears with the version originaly used.

It seems like a Path is created from an URI causing the error. But I have no idea where the String comes from.
Please let me know, if I am doing anthing wrong, or if you have any further questions.

> Task :quarkusDev
Listening for transport dt_socket at address: 5005
__ ____ __ _____ ___ __ ____ ______
--/ __ / / / / _ | / _ / /// / / / __/
-/ /
/ / // / __ |/ , / ,< / // /\ \
--___
// |//|//||_//
2021-05-12 17:03:56,529 INFO [io.quarkus] (Quarkus Main Thread) quarkus-school-timetabling 0.1.0-SNAPSHOT on JVM (powered by Quarkus 1.13.3.Final) started in 10.427s. Listening on: http://localhost:8080
2021-05-12 17:03:56,531 INFO [io.quarkus] (Quarkus Main Thread) Profile dev activated. Live Coding activated.
2021-05-12 17:03:56,531 INFO [io.quarkus] (Quarkus Main Thread) Installed features: [agroal, cdi, hibernate-orm, hibernate-orm-panache, hibernate-orm-rest-data-panache, jdbc-h2, mutiny, narayana-jta, optaplanner, optaplanner-jackson, resteasy, resteasy-jackson, smallrye-context-propagation, webjars-locator]
2021-05-12 17:03:58,030 ERROR [io.qua.ver.htt.run.QuarkusErrorHandler] (executor-thread-2) HTTP Request to /timeTable failed, error id: 9cab0c07-32cf-4f25-96f1-b5fbd435d416-1: org.jboss.resteasy.spi.UnhandledException: java.nio.file.InvalidPathException: Illegal char <:> at index 4: file:///C:/Users/USERDIR/.gradle/caches/modules-2/files-2.1/org.optaplanner/optaplanner-quarkus/8.6.0.Final/10931238061ea64a5cb4e4c9a28f0ef8efd7c85a/optaplanner-quarkus-8.6.0.Final.jar
at org.jboss.resteasy.core.ExceptionHandler.handleApplicationException(ExceptionHandler.java:106)
at org.jboss.resteasy.core.ExceptionHandler.handleException(ExceptionHandler.java:372)
at org.jboss.resteasy.core.SynchronousDispatcher.writeException(SynchronousDispatcher.java:218)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:519)
at org.jboss.resteasy.core.SynchronousDispatcher.lambda$invoke$4(SynchronousDispatcher.java:261)
at org.jboss.resteasy.core.SynchronousDispatcher.lambda$preprocess$0(SynchronousDispatcher.java:161)
at org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:364)
at org.jboss.resteasy.core.SynchronousDispatcher.preprocess(SynchronousDispatcher.java:164)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:247)
at io.quarkus.resteasy.runtime.standalone.RequestDispatcher.service(RequestDispatcher.java:73)
at io.quarkus.resteasy.runtime.standalone.VertxRequestHandler.dispatch(VertxRequestHandler.java:138)
at io.quarkus.resteasy.runtime.standalone.VertxRequestHandler.access$000(VertxRequestHandler.java:41)
at io.quarkus.resteasy.runtime.standalone.VertxRequestHandler$1.run(VertxRequestHandler.java:93)
at io.quarkus.runtime.CleanableExecutor$CleaningRunnable.run(CleanableExecutor.java:231)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2415)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1426)
at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
at java.base/java.lang.Thread.run(Thread.java:834)
at org.jboss.threads.JBossThread.run(JBossThread.java:501)
Caused by: java.nio.file.InvalidPathException: Illegal char <:> at index 4: file:///C:/Users/USERDIR/.gradle/caches/modules-2/files-2.1/org.optaplanner/optaplanner-quarkus/8.6.0.Final/10931238061ea64a5cb4e4c9a28f0ef8efd7c85a/optaplanner-quarkus-8.6.0.Final.jar
at java.base/sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182)
at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
at java.base/sun.nio.fs.WindowsPath.parse(WindowsPath.java:92)
at java.base/sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:229)
at jdk.compiler/com.sun.tools.javac.file.FSInfo.getJarClassPath(FSInfo.java:112)
at jdk.compiler/com.sun.tools.javac.file.CacheFSInfo.getJarClassPath(CacheFSInfo.java:93)
at jdk.compiler/com.sun.tools.javac.file.Locations$SearchPath.addJarClassPath(Locations.java:423)
at jdk.compiler/com.sun.tools.javac.file.Locations$SearchPath.addFile(Locations.java:413)
at jdk.compiler/com.sun.tools.javac.file.Locations$SearchPath.addFiles(Locations.java:345)
at jdk.compiler/com.sun.tools.javac.file.Locations$SearchPath.addFiles(Locations.java:333)
at jdk.compiler/com.sun.tools.javac.file.Locations$SearchPath.addFiles(Locations.java:339)
at jdk.compiler/com.sun.tools.javac.file.Locations$ClassPathLocationHandler.computePath(Locations.java:779)
at jdk.compiler/com.sun.tools.javac.file.Locations$SimpleLocationHandler.setPaths(Locations.java:721)
at jdk.compiler/com.sun.tools.javac.file.Locations.setLocation(Locations.java:2098)
at jdk.compiler/com.sun.tools.javac.file.JavacFileManager.setLocation(JavacFileManager.java:927)
at org.kie.memorycompiler.jdknative.NativeJavaCompiler.compile(NativeJavaCompiler.java:80)
at org.kie.memorycompiler.AbstractJavaCompiler.compile(AbstractJavaCompiler.java:41)
at org.kie.memorycompiler.KieMemoryCompiler.compileNoLoad(KieMemoryCompiler.java:130)
at org.kie.memorycompiler.KieMemoryCompiler.compileNoLoad(KieMemoryCompiler.java:102)
at org.kie.memorycompiler.KieMemoryCompiler.compile(KieMemoryCompiler.java:53)
at org.kie.memorycompiler.KieMemoryCompiler.compile(KieMemoryCompiler.java:39)
at org.drools.ancompiler.KieBaseUpdaterANC.inMemoryUpdate(KieBaseUpdaterANC.java:66)
at org.drools.ancompiler.KieBaseUpdaterANC.run(KieBaseUpdaterANC.java:52)
at org.drools.ancompiler.KieBaseUpdaterANC.generateAndSetInMemoryANC(KieBaseUpdaterANC.java:99)
at org.optaplanner.core.impl.score.stream.drools.DroolsConstraintSessionFactory.buildKieBaseFromModel(DroolsConstraintSessionFactory.java:85)
at org.optaplanner.core.impl.score.stream.drools.DroolsConstraintSessionFactory.buildSession(DroolsConstraintSessionFactory.java:126)
at org.optaplanner.core.impl.score.director.stream.DroolsConstraintStreamScoreDirectorFactory.newConstraintStreamingSession(DroolsConstraintStreamScoreDirectorFactory.java:50)
at org.optaplanner.core.impl.score.director.stream.DroolsConstraintStreamScoreDirector.resetConstraintStreamingSession(DroolsConstraintStreamScoreDirector.java:74)
at org.optaplanner.core.impl.score.director.stream.DroolsConstraintStreamScoreDirector.setWorkingSolution(DroolsConstraintStreamScoreDirector.java:66)
at org.optaplanner.core.impl.score.DefaultScoreManager.updateScore(DefaultScoreManager.java:45)
at org.acme.schooltimetabling.rest.TimeTableResource.getTimeTable(TimeTableResource.java:66)
at org.acme.schooltimetabling.rest.TimeTableResource_Subclass.getTimeTable$$superaccessor5(TimeTableResource_Subclass.zig:830)
at org.acme.schooltimetabling.rest.TimeTableResource_Subclass$$function$$5.apply(TimeTableResource_Subclass$$function$$5.zig:29)
at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:54)
at io.quarkus.arc.runtime.devconsole.InvocationInterceptor.proceed(InvocationInterceptor.java:63)
at io.quarkus.arc.runtime.devconsole.InvocationInterceptor.monitor(InvocationInterceptor.java:49)
at io.quarkus.arc.runtime.devconsole.InvocationInterceptor_Bean.intercept(InvocationInterceptor_Bean.zig:521)
at io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:41)
at io.quarkus.arc.impl.AroundInvokeInvocationContext.perform(AroundInvokeInvocationContext.java:41)
at io.quarkus.arc.impl.InvocationContexts.performAroundInvoke(InvocationContexts.java:32)
at org.acme.schooltimetabling.rest.TimeTableResource_Subclass.getTimeTable(TimeTableResource_Subclass.zig:788)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:170)
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:130)
at org.jboss.resteasy.core.ResourceMethodInvoker.internalInvokeOnTarget(ResourceMethodInvoker.java:643)
at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTargetAfterFilter(ResourceMethodInvoker.java:507)
at org.jboss.resteasy.core.ResourceMethodInvoker.lambda$invokeOnTarget$2(ResourceMethodInvoker.java:457)
at org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:364)
at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:459)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:419)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:393)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:68)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:492)
... 18 more
Suppressed: java.lang.NullPointerException
at org.optaplanner.core.impl.score.director.stream.DroolsConstraintStreamScoreDirector.close(DroolsConstraintStreamScoreDirector.java:120)
at org.optaplanner.core.impl.score.DefaultScoreManager.updateScore(DefaultScoreManager.java:44)
... 44 more

Micrometer Score Logging

Hi Developers, I am trying to log custom metrics besides the one provided in the doc. Can you please point me to the part of the Optaplanner where you introduced the MIcrometer to manage Metrics discussed in the documentation? I could use it as a reference to solve my problem
Thanks

HTTP Request to /timeTable failed #121

Eclipse Platform

Version: 4.24.0.v20220607-0700
Build id: I20220607-0700

jdk: 11

... 1 more

Caused by: java.nio.file.InvalidPathException: Illegal char <:> at index 4: file:///C:/Users/dsy/.m2/repository/io/quarkus/quarkus-core-deployment/2.12.0.Final/quarkus-core-deployment-2.12.0.Final.jar
at java.base/sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182)
at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
at java.base/sun.nio.fs.WindowsPath.parse(WindowsPath.java:92)
at java.base/sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:229)
at jdk.compiler/com.sun.tools.javac.file.FSInfo.getJarClassPath(FSInfo.java:112)
at jdk.compiler/com.sun.tools.javac.file.CacheFSInfo.getJarClassPath(CacheFSInfo.java:97)
at jdk.compiler/com.sun.tools.javac.file.Locations$SearchPath.addJarClassPath(Locations.java:420)
at jdk.compiler/com.sun.tools.javac.file.Locations$SearchPath.addFile(Locations.java:410)
at jdk.compiler/com.sun.tools.javac.file.Locations$SearchPath.addFiles(Locations.java:342)
at jdk.compiler/com.sun.tools.javac.file.Locations$SearchPath.addFiles(Locations.java:330)
at jdk.compiler/com.sun.tools.javac.file.Locations$SearchPath.addFiles(Locations.java:336)
at jdk.compiler/com.sun.tools.javac.file.Locations$ClassPathLocationHandler.computePath(Locations.java:776)
at jdk.compiler/com.sun.tools.javac.file.Locations$SimpleLocationHandler.setPaths(Locations.java:718)
at jdk.compiler/com.sun.tools.javac.file.Locations.setLocation(Locations.java:2150)
at jdk.compiler/com.sun.tools.javac.file.JavacFileManager.setLocation(JavacFileManager.java:988)
at org.kie.memorycompiler.jdknative.NativeJavaCompiler.compile(NativeJavaCompiler.java:88)
at org.kie.memorycompiler.AbstractJavaCompiler.compile(AbstractJavaCompiler.java:41)
at org.kie.memorycompiler.KieMemoryCompiler.compileNoLoad(KieMemoryCompiler.java:133)
at org.kie.memorycompiler.KieMemoryCompiler.compileNoLoad(KieMemoryCompiler.java:105)
at org.kie.memorycompiler.KieMemoryCompiler.compile(KieMemoryCompiler.java:57)
at org.kie.memorycompiler.KieMemoryCompiler.compile(KieMemoryCompiler.java:43)
at org.drools.ancompiler.KieBaseUpdaterANC.inMemoryUpdate(KieBaseUpdaterANC.java:66)
at org.drools.ancompiler.KieBaseUpdaterANC.run(KieBaseUpdaterANC.java:52)
at org.drools.ancompiler.KieBaseUpdaterANC.generateAndSetInMemoryANC(KieBaseUpdaterANC.java:99)
at org.optaplanner.constraint.streams.drools.DroolsConstraintStreamScoreDirectorFactory.buildKieBaseFromModel(DroolsConstraintStreamScoreDirectorFactory.java:96)
at org.optaplanner.constraint.streams.drools.DroolsConstraintStreamScoreDirectorFactory.buildKieBase(DroolsConstraintStreamScoreDirectorFactory.java:85)
at org.optaplanner.constraint.streams.drools.DroolsConstraintStreamScoreDirectorFactory.(DroolsConstraintStreamScoreDirectorFactory.java:52)
at org.optaplanner.constraint.streams.drools.DroolsConstraintStreamScoreDirectorFactoryService.buildScoreDirectorFactory(DroolsConstraintStreamScoreDirectorFactoryService.java:75)
at org.optaplanner.constraint.streams.drools.DroolsConstraintStreamScoreDirectorFactoryService.lambda$buildScoreDirectorFactory$0(DroolsConstraintStreamScoreDirectorFactoryService.java:54)
at org.optaplanner.core.impl.score.director.ScoreDirectorFactoryFactory.decideMultipleScoreDirectorFactories(ScoreDirectorFactoryFactory.java:147)
at org.optaplanner.core.impl.score.director.ScoreDirectorFactoryFactory.buildScoreDirectorFactory(ScoreDirectorFactoryFactory.java:40)
at org.optaplanner.core.impl.solver.DefaultSolverFactory.buildScoreDirectorFactory(DefaultSolverFactory.java:161)
at org.optaplanner.core.impl.solver.DefaultSolverFactory.(DefaultSolverFactory.java:71)
at org.optaplanner.core.api.solver.SolverFactory.create(SolverFactory.java:106)
at org.optaplanner.quarkus.bean.DefaultOptaPlannerBeanProvider.solverFactory(DefaultOptaPlannerBeanProvider.java:34)
at org.optaplanner.quarkus.bean.DefaultOptaPlannerBeanProvider_ProducerMethod_solverFactory_0b7f23015d253edbbe46501de32d0e76875e5fe6_Bean.create(Unknown Source)
at org.optaplanner.quarkus.bean.DefaultOptaPlannerBeanProvider_ProducerMethod_solverFactory_0b7f23015d253edbbe46501de32d0e76875e5fe6_Bean.create(Unknown Source)
at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:111)
at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:35)
at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:32)
at io.quarkus.arc.impl.LazyValue.get(LazyValue.java:26)
at io.quarkus.arc.impl.ComputingCache.computeIfAbsent(ComputingCache.java:69)
at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:32)
at org.optaplanner.quarkus.bean.DefaultOptaPlannerBeanProvider_ProducerMethod_solverFactory_0b7f23015d253edbbe46501de32d0e76875e5fe6_Bean.get(Unknown Source)
at org.optaplanner.quarkus.bean.DefaultOptaPlannerBeanProvider_ProducerMethod_solverFactory_0b7f23015d253edbbe46501de32d0e76875e5fe6_Bean.get(Unknown Source)
at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:468)
at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:481)
at io.quarkus.arc.impl.ArcContainerImpl.instanceHandle(ArcContainerImpl.java:452)
at io.quarkus.arc.impl.ArcContainerImpl.instance(ArcContainerImpl.java:245)
at org.optaplanner.quarkus.devui.OptaPlannerDevUIPropertiesSupplier.getModelInfo(OptaPlannerDevUIPropertiesSupplier.java:66)
at org.optaplanner.quarkus.devui.OptaPlannerDevUIPropertiesSupplier.get(OptaPlannerDevUIPropertiesSupplier.java:52)
at org.optaplanner.quarkus.devui.OptaPlannerDevUIPropertiesSupplier.get(OptaPlannerDevUIPropertiesSupplier.java:25)
at io.quarkus.vertx.http.runtime.devmode.DevConsoleRecorder.addInfo(DevConsoleRecorder.java:33)
at io.quarkus.deployment.steps.DevConsoleProcessor$runtimeTemplates308161071.deploy_0(Unknown Source)
at io.quarkus.deployment.steps.DevConsoleProcessor$runtimeTemplates308161071.deploy(Unknown Source)
... 13 more

2022-09-18 17:05:22,489 INFO [io.qua.dep.dev.RuntimeUpdatesProcessor] (vert.x-worker-thread-1) Live reload total time: 0.895s


--/ __ / / / / _ | / _ / /// / / / __/
-/ /
/ / // / __ |/ , / ,< / // /\ \
--___
// |//|//||_//
2022-09-18 17:05:25,177 ERROR [io.qua.run.Application] (Quarkus Main Thread) Failed to start application (with profile dev): java.nio.file.InvalidPathException: Illegal char <:> at index 4: file:///C:/Users/dsy/.m2/repository/io/quarkus/quarkus-core-deployment/2.12.0.Final/quarkus-core-deployment-2.12.0.Final.jar
at java.base/sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182)
at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
at java.base/sun.nio.fs.WindowsPath.parse(WindowsPath.java:92)
at java.base/sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:229)
at jdk.compiler/com.sun.tools.javac.file.FSInfo.getJarClassPath(FSInfo.java:112)
at jdk.compiler/com.sun.tools.javac.file.CacheFSInfo.getJarClassPath(CacheFSInfo.java:97)
at jdk.compiler/com.sun.tools.javac.file.Locations$SearchPath.addJarClassPath(Locations.java:420)
at jdk.compiler/com.sun.tools.javac.file.Locations$SearchPath.addFile(Locations.java:410)
at jdk.compiler/com.sun.tools.javac.file.Locations$SearchPath.addFiles(Locations.java:342)
at jdk.compiler/com.sun.tools.javac.file.Locations$SearchPath.addFiles(Locations.java:330)
at jdk.compiler/com.sun.tools.javac.file.Locations$SearchPath.addFiles(Locations.java:336)
at jdk.compiler/com.sun.tools.javac.file.Locations$ClassPathLocationHandler.computePath(Locations.java:776)
at jdk.compiler/com.sun.tools.javac.file.Locations$SimpleLocationHandler.setPaths(Locations.java:718)
at jdk.compiler/com.sun.tools.javac.file.Locations.setLocation(Locations.java:2150)
at jdk.compiler/com.sun.tools.javac.file.JavacFileManager.setLocation(JavacFileManager.java:988)
at org.kie.memorycompiler.jdknative.NativeJavaCompiler.compile(NativeJavaCompiler.java:88)
at org.kie.memorycompiler.AbstractJavaCompiler.compile(AbstractJavaCompiler.java:41)
at org.kie.memorycompiler.KieMemoryCompiler.compileNoLoad(KieMemoryCompiler.java:133)
at org.kie.memorycompiler.KieMemoryCompiler.compileNoLoad(KieMemoryCompiler.java:105)
at org.kie.memorycompiler.KieMemoryCompiler.compile(KieMemoryCompiler.java:57)
at org.kie.memorycompiler.KieMemoryCompiler.compile(KieMemoryCompiler.java:43)
at org.drools.ancompiler.KieBaseUpdaterANC.inMemoryUpdate(KieBaseUpdaterANC.java:66)
at org.drools.ancompiler.KieBaseUpdaterANC.run(KieBaseUpdaterANC.java:52)
at org.drools.ancompiler.KieBaseUpdaterANC.generateAndSetInMemoryANC(KieBaseUpdaterANC.java:99)
at org.optaplanner.constraint.streams.drools.DroolsConstraintStreamScoreDirectorFactory.buildKieBaseFromModel(DroolsConstraintStreamScoreDirectorFactory.java:96)
at org.optaplanner.constraint.streams.drools.DroolsConstraintStreamScoreDirectorFactory.buildKieBase(DroolsConstraintStreamScoreDirectorFactory.java:85)
at org.optaplanner.constraint.streams.drools.DroolsConstraintStreamScoreDirectorFactory.(DroolsConstraintStreamScoreDirectorFactory.java:52)
at org.optaplanner.constraint.streams.drools.DroolsConstraintStreamScoreDirectorFactoryService.buildScoreDirectorFactory(DroolsConstraintStreamScoreDirectorFactoryService.java:75)
at org.optaplanner.constraint.streams.drools.DroolsConstraintStreamScoreDirectorFactoryService.lambda$buildScoreDirectorFactory$0(DroolsConstraintStreamScoreDirectorFactoryService.java:54)
at org.optaplanner.core.impl.score.director.ScoreDirectorFactoryFactory.decideMultipleScoreDirectorFactories(ScoreDirectorFactoryFactory.java:147)
at org.optaplanner.core.impl.score.director.ScoreDirectorFactoryFactory.buildScoreDirectorFactory(ScoreDirectorFactoryFactory.java:40)
at org.optaplanner.core.impl.solver.DefaultSolverFactory.buildScoreDirectorFactory(DefaultSolverFactory.java:161)
at org.optaplanner.core.impl.solver.DefaultSolverFactory.(DefaultSolverFactory.java:71)
at org.optaplanner.core.api.solver.SolverFactory.create(SolverFactory.java:106)
at org.optaplanner.quarkus.bean.DefaultOptaPlannerBeanProvider.solverFactory(DefaultOptaPlannerBeanProvider.java:34)
at org.optaplanner.quarkus.bean.DefaultOptaPlannerBeanProvider_ProducerMethod_solverFactory_0b7f23015d253edbbe46501de32d0e76875e5fe6_Bean.create(Unknown Source)
at org.optaplanner.quarkus.bean.DefaultOptaPlannerBeanProvider_ProducerMethod_solverFactory_0b7f23015d253edbbe46501de32d0e76875e5fe6_Bean.create(Unknown Source)
at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:111)
at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:35)
at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:32)
at io.quarkus.arc.impl.LazyValue.get(LazyValue.java:26)
at io.quarkus.arc.impl.ComputingCache.computeIfAbsent(ComputingCache.java:69)
at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:32)
at org.optaplanner.quarkus.bean.DefaultOptaPlannerBeanProvider_ProducerMethod_solverFactory_0b7f23015d253edbbe46501de32d0e76875e5fe6_Bean.get(Unknown Source)
at org.optaplanner.quarkus.bean.DefaultOptaPlannerBeanProvider_ProducerMethod_solverFactory_0b7f23015d253edbbe46501de32d0e76875e5fe6_Bean.get(Unknown Source)
at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:468)
at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:481)
at io.quarkus.arc.impl.ArcContainerImpl.instanceHandle(ArcContainerImpl.java:452)
at io.quarkus.arc.impl.ArcContainerImpl.instance(ArcContainerImpl.java:245)
at org.optaplanner.quarkus.devui.OptaPlannerDevUIPropertiesSupplier.getModelInfo(OptaPlannerDevUIPropertiesSupplier.java:66)
at org.optaplanner.quarkus.devui.OptaPlannerDevUIPropertiesSupplier.get(OptaPlannerDevUIPropertiesSupplier.java:52)
at org.optaplanner.quarkus.devui.OptaPlannerDevUIPropertiesSupplier.get(OptaPlannerDevUIPropertiesSupplier.java:25)
at io.quarkus.vertx.http.runtime.devmode.DevConsoleRecorder.addInfo(DevConsoleRecorder.java:33)
at io.quarkus.deployment.steps.DevConsoleProcessor$runtimeTemplates308161071.deploy_0(Unknown Source)
at io.quarkus.deployment.steps.DevConsoleProcessor$runtimeTemplates308161071.deploy(Unknown Source)
at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
at io.quarkus.runtime.Application.start(Application.java:101)
at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:110)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:67)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:41)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:120)
at io.quarkus.runner.GeneratedMain.main(Unknown Source)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at io.quarkus.runner.bootstrap.StartupActionImpl$1.run(StartupActionImpl.java:103)
at java.base/java.lang.Thread.run(Thread.java:830)

2022-09-18 17:05:25,177 ERROR [io.qua.dep.dev.IsolatedDevModeMain] (vert.x-worker-thread-1) Failed to start quarkus: io.quarkus.dev.appstate.ApplicationStartException: java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.dev.appstate.ApplicationStateNotification.waitForApplicationStart(ApplicationStateNotification.java:58)
at io.quarkus.runner.bootstrap.StartupActionImpl.runMainClass(StartupActionImpl.java:122)
at io.quarkus.deployment.dev.IsolatedDevModeMain.restartApp(IsolatedDevModeMain.java:223)
at io.quarkus.deployment.dev.IsolatedDevModeMain.restartCallback(IsolatedDevModeMain.java:204)
at io.quarkus.deployment.dev.RuntimeUpdatesProcessor.doScan(RuntimeUpdatesProcessor.java:536)
at io.quarkus.deployment.dev.RuntimeUpdatesProcessor.doScan(RuntimeUpdatesProcessor.java:436)
at io.quarkus.vertx.http.runtime.devmode.VertxHttpHotReplacementSetup$4.handle(VertxHttpHotReplacementSetup.java:152)
at io.quarkus.vertx.http.runtime.devmode.VertxHttpHotReplacementSetup$4.handle(VertxHttpHotReplacementSetup.java:139)
at io.vertx.core.impl.ContextBase.lambda$null$0(ContextBase.java:137)
at io.vertx.core.impl.ContextInternal.dispatch(ContextInternal.java:264)
at io.vertx.core.impl.ContextBase.lambda$executeBlocking$1(ContextBase.java:135)
at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2449)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1478)
at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:830)
Caused by: java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
at io.quarkus.runtime.Application.start(Application.java:101)
at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:110)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:67)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:41)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:120)
at io.quarkus.runner.GeneratedMain.main(Unknown Source)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at io.quarkus.runner.bootstrap.StartupActionImpl$1.run(StartupActionImpl.java:103)
... 1 more
Caused by: java.nio.file.InvalidPathException: Illegal char <:> at index 4: file:///C:/Users/dsy/.m2/repository/io/quarkus/quarkus-core-deployment/2.12.0.Final/quarkus-core-deployment-2.12.0.Final.jar
at java.base/sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182)
at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
at java.base/sun.nio.fs.WindowsPath.parse(WindowsPath.java:92)
at java.base/sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:229)
at jdk.compiler/com.sun.tools.javac.file.FSInfo.getJarClassPath(FSInfo.java:112)
at jdk.compiler/com.sun.tools.javac.file.CacheFSInfo.getJarClassPath(CacheFSInfo.java:97)
at jdk.compiler/com.sun.tools.javac.file.Locations$SearchPath.addJarClassPath(Locations.java:420)
at jdk.compiler/com.sun.tools.javac.file.Locations$SearchPath.addFile(Locations.java:410)
at jdk.compiler/com.sun.tools.javac.file.Locations$SearchPath.addFiles(Locations.java:342)
at jdk.compiler/com.sun.tools.javac.file.Locations$SearchPath.addFiles(Locations.java:330)
at jdk.compiler/com.sun.tools.javac.file.Locations$SearchPath.addFiles(Locations.java:336)
at jdk.compiler/com.sun.tools.javac.file.Locations$ClassPathLocationHandler.computePath(Locations.java:776)
at jdk.compiler/com.sun.tools.javac.file.Locations$SimpleLocationHandler.setPaths(Locations.java:718)
at jdk.compiler/com.sun.tools.javac.file.Locations.setLocation(Locations.java:2150)
at jdk.compiler/com.sun.tools.javac.file.JavacFileManager.setLocation(JavacFileManager.java:988)
at org.kie.memorycompiler.jdknative.NativeJavaCompiler.compile(NativeJavaCompiler.java:88)
at org.kie.memorycompiler.AbstractJavaCompiler.compile(AbstractJavaCompiler.java:41)
at org.kie.memorycompiler.KieMemoryCompiler.compileNoLoad(KieMemoryCompiler.java:133)
at org.kie.memorycompiler.KieMemoryCompiler.compileNoLoad(KieMemoryCompiler.java:105)
at org.kie.memorycompiler.KieMemoryCompiler.compile(KieMemoryCompiler.java:57)
at org.kie.memorycompiler.KieMemoryCompiler.compile(KieMemoryCompiler.java:43)
at org.drools.ancompiler.KieBaseUpdaterANC.inMemoryUpdate(KieBaseUpdaterANC.java:66)
at org.drools.ancompiler.KieBaseUpdaterANC.run(KieBaseUpdaterANC.java:52)
at org.drools.ancompiler.KieBaseUpdaterANC.generateAndSetInMemoryANC(KieBaseUpdaterANC.java:99)
at org.optaplanner.constraint.streams.drools.DroolsConstraintStreamScoreDirectorFactory.buildKieBaseFromModel(DroolsConstraintStreamScoreDirectorFactory.java:96)
at org.optaplanner.constraint.streams.drools.DroolsConstraintStreamScoreDirectorFactory.buildKieBase(DroolsConstraintStreamScoreDirectorFactory.java:85)
at org.optaplanner.constraint.streams.drools.DroolsConstraintStreamScoreDirectorFactory.(DroolsConstraintStreamScoreDirectorFactory.java:52)
at org.optaplanner.constraint.streams.drools.DroolsConstraintStreamScoreDirectorFactoryService.buildScoreDirectorFactory(DroolsConstraintStreamScoreDirectorFactoryService.java:75)
at org.optaplanner.constraint.streams.drools.DroolsConstraintStreamScoreDirectorFactoryService.lambda$buildScoreDirectorFactory$0(DroolsConstraintStreamScoreDirectorFactoryService.java:54)
at org.optaplanner.core.impl.score.director.ScoreDirectorFactoryFactory.decideMultipleScoreDirectorFactories(ScoreDirectorFactoryFactory.java:147)
at org.optaplanner.core.impl.score.director.ScoreDirectorFactoryFactory.buildScoreDirectorFactory(ScoreDirectorFactoryFactory.java:40)
at org.optaplanner.core.impl.solver.DefaultSolverFactory.buildScoreDirectorFactory(DefaultSolverFactory.java:161)
at org.optaplanner.core.impl.solver.DefaultSolverFactory.(DefaultSolverFactory.java:71)
at org.optaplanner.core.api.solver.SolverFactory.create(SolverFactory.java:106)
at org.optaplanner.quarkus.bean.DefaultOptaPlannerBeanProvider.solverFactory(DefaultOptaPlannerBeanProvider.java:34)
at org.optaplanner.quarkus.bean.DefaultOptaPlannerBeanProvider_ProducerMethod_solverFactory_0b7f23015d253edbbe46501de32d0e76875e5fe6_Bean.create(Unknown Source)
at org.optaplanner.quarkus.bean.DefaultOptaPlannerBeanProvider_ProducerMethod_solverFactory_0b7f23015d253edbbe46501de32d0e76875e5fe6_Bean.create(Unknown Source)
at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:111)
at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:35)
at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:32)
at io.quarkus.arc.impl.LazyValue.get(LazyValue.java:26)
at io.quarkus.arc.impl.ComputingCache.computeIfAbsent(ComputingCache.java:69)
at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:32)
at org.optaplanner.quarkus.bean.DefaultOptaPlannerBeanProvider_ProducerMethod_solverFactory_0b7f23015d253edbbe46501de32d0e76875e5fe6_Bean.get(Unknown Source)
at org.optaplanner.quarkus.bean.DefaultOptaPlannerBeanProvider_ProducerMethod_solverFactory_0b7f23015d253edbbe46501de32d0e76875e5fe6_Bean.get(Unknown Source)
at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:468)
at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:481)
at io.quarkus.arc.impl.ArcContainerImpl.instanceHandle(ArcContainerImpl.java:452)
at io.quarkus.arc.impl.ArcContainerImpl.instance(ArcContainerImpl.java:245)
at org.optaplanner.quarkus.devui.OptaPlannerDevUIPropertiesSupplier.getModelInfo(OptaPlannerDevUIPropertiesSupplier.java:66)
at org.optaplanner.quarkus.devui.OptaPlannerDevUIPropertiesSupplier.get(OptaPlannerDevUIPropertiesSupplier.java:52)
at org.optaplanner.quarkus.devui.OptaPlannerDevUIPropertiesSupplier.get(OptaPlannerDevUIPropertiesSupplier.java:25)
at io.quarkus.vertx.http.runtime.devmode.DevConsoleRecorder.addInfo(DevConsoleRecorder.java:33)
at io.quarkus.deployment.steps.DevConsoleProcessor$runtimeTemplates308161071.deploy_0(Unknown Source)
at io.quarkus.deployment.steps.DevConsoleProcessor$runtimeTemplates308161071.deploy(Unknown Source)

how to implement hard constraint

hi,

I just discovered and started testing your tool (running on linux mint, e.g. with runQuickstarts.sh )

  • the constraint I need to implement is the fixed N of weekly hours per subject, per classroom -- how should I proceed?

  • also: I do not understand why only 1 room and only few time slots are filled? do I have to create as many 'lesson' block as time-slots? (related to 1st)

thanks

should I rather ask on https://groups.google.com/g/optaplanner-dev ?

Caused by: java.lang.IllegalStateException:

When I construct a flight crew scheduling problem ,it caused such problem:

Caused by: java.lang.IllegalStateException: The entity (AB071@2018-01-01-0) has a variable (employee) with value (Chad Q. Green) which has a sourceVariableName variable (flightAssignmentSet) with a value ([AB003@2018-01-01-0, AB019@2018-01-01-0, AB047@2018-01-01-0, AB070@2018-01-01-0]) which already contained the entity (AB071@2018-01-01-0).
Verify the consistency of your input problem for that bi-directional relationship.

How to handle this problem?Hope for your answer.

Refocus examples on OptaPlanner by bringing back the good old *App

The new examples put too much focus on system integration with quarkus. In fact, they hide the underlying optaplanner concepts to an extent that new users may not understand the API. Or are simply overwhelmed with quarkus complexity, and move on to OR tooling that has a lower entry barrier in its introductory examples.

Don't get me wrong, the demos and their great web interfaces are just awesome. However, they imho don't educate on how to use optaplanner in the same simplistic way the old demos did. They are more integration examples than quickstarts, which I'd expect to also quick to understand and not just quick to run.

Most importantly quarkus quickstarts lack a solverconfig, which accordingly to the docs (https://docs.optaplanner.org/8.14.0.Final/optaplanner-docs/html_single/index.html#solverConfigurationByJavaAPI) is the heart of an optaplanner solution. The config has somehow has been engineered away, which dramatically impedes the learning experience.

The demos should include an "App" as done in the non-quarkus demos. E.g. TimeTableApp is so much more instructive on how to use optaplanner: It shows how to bind all entity definitions, constraints and the solution classes into a solver-config, builds a solver, creates a dummy problem, and solves it. The code explains itself.

In contrast, the call-center demo does not even seem to have an application entrypoint. The quarkus examples are just providing loose uncoupled definitions which are magically bound behind the scenes into an actual application driven by annotations the reader may not be familiar with (or may not care about). And it seems that quarkus quickstarts are using methods beyond annotations to glue the applications together: org.acme.callcenter.solver.CallCenterConstraintsProvider is not annotated and is not referenced at all in the entire repo except in the tests, so it leaves the reader in the dark how it may be discovered to run the call center.

I hope was not too negative here. But I could imagine that other users may struggle as well.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.