ATTENTIONThis FlexSim Community Forum is read-only. Please post any new questions, ideas, or discussions to our new community (we call it Answers) at https://answers.flexsim.com/. Our new Question & Answer site brings a modern, mobile-friendly interface and more focus on getting answers quickly. There are a few differences between how our new Q&A community works vs. a classic, threaded-conversation-style forum like the one below, so be sure to read our Answers Best Practices. |
flexsim.com |
#1
|
|||
|
|||
Problems with Optquest
Hi everybody!
Attached I have a functioning simulation model of an inventory system that should now be optimized by using optquest. The decision variables are the lot sizes on the two echelons and the reorder points. I defined several scenarios and was able to simulate these scenarios with the different parameter setting. I want the optimizer now to search for an optimal parameter setting on its own - i do not want to give him any particular parameter setting via the scenario tab. First question: When I define the constraint that the fillrate (my performance measure) should exceed 0.8 (80%) how is it possible that even when the realized fillrate is above 80% (e.g. 0.9) optquest tells me that this particular constraint is violated (it is actually NOT - the data tells a different story). Second question: I also defined a constraint that lot size on the first stage has to be bigger than on the second stage (BatchSizeMS1 > BatchSizeMS2). I also encounter solution candidates that do not fullfill this requirement BUT it turns out (in the .csv output) that in this particular solution the constraint is fullfilled, which is not true. A solution candidate with equal batches on both stages violates the defined constraint. How can that be? Anybody experienced something similar? Third question: I want to define another constraint. I want to be the batch size on the first stage to be a multiple integer of the batch size on the second stage. How can this be done? My idea: I first define an integer "K" (defined in the Performance Measures tab) and set this in another constraint as: K = (1,2,3,4) In a further constraint I define: BatchSizeMS1 = K * BatchSizeMS2 Unfortunately this does not really work. Any suggestions how to define this issue in optquest? I really appreciate your help! Thanks for helping me out! Best! Simon |
#2
|
||||
|
||||
Hello Simon,
I am not an OptQuest specialist, but I was able to notice some obvious points that might help you: For you first question you might have your fill rate defined wrong as a PFM? If I take a scenario from the Optimizer and run it manually, the average of the labels assigned to Fillrate is larger than 24,000. That doesn't seem right. Furthermore, there are scenarios which have an average DLZ of zero, I believe due to no more orders in the model? Try a manual run of any of these and you will see the error message "No Further Demand!" you implemented yourself. That is, why these scenarios do not take any time in OptQuest. So I believe, there are a few things to be fixed in the model before you actually can track down what, if any, goes wrong in OptQuest. Good luck! Ralf FlexSim |
The Following User Says Thank You to RalfGruber For This Useful Post: | ||
Steven Hamoen (05-13-2015) |
#3
|
|||
|
|||
Hello Ralf!
Thank you for your answer! Your are right. I fixed the problem with the PFM. Now, if you manually run simulations with a particular setting you get the same result for the fillrate (see Global Table "Fillrate") as in the experimenter/optimizer. I now only want to run scenarios I primarily defined in the scenario tab. One of the scenarios definitely will return me a fillrate higher than the value in the constraint (the value I get from the particular run is 0.78). I imposed a constraint saying that the fillrate should be higher than 0.4. Therefore there should be no violated constraint in this run. Unfortunately the result says that the costraint is violated. But why? Thank you for any suggestions! Regards, Simon Additional info: The fillrate for some scenarios defined in the scenarios tab now return negative values. This is correct since the production system cannot cope with the defined demand pattern! |
#4
|
|||
|
|||
Logging OptQuest Input and Output
Hello Simon,
One thing you can do to help debug this kind of problem is to have OptQuest save a copy of its input and output. To do this, add a node called optLog in your environment tree. Give it a value of 1.0. Next time you run the optimizer, two files called Setup.xml and Solutions.xml will be generated in your model file's directory. Setup.xml represents the problem definition. You can see a list of all the variables, constraints, and objectives given to OptQuest. Solutions.xml represents the database of solutions as OptQuest generated. If Setup.xml doesn't match the input given in the Experimenter window, then that may be a model or FlexSim bug. If Setup.xml is correct, but the solutions are still misbehaving, then there may be an OptQuest bug. I opened the model you provided (Optquest_issues_2.fsm) and saw the ones of bugs you were talking about; one of the solutions should have been marked feasible, but it wasn't. I ran the optimizer on my own computer (FlexSim 7.5.4), and the results came back correct, so that the solution will a Fillrate > 0.4 was marked feasible. It might be helpful for you to add the optLog node and re-run the optimization. Then open the xml files, and see what you can learn. Note: OptQuest calls performance measures user controlled variables. It also uses the solution id -1 to indicate that a solution was suggested by the user. Feel free to send me any fishy-looking models or xml files. Thanks, Jordan |
The Following 3 Users Say Thank You to Jordan Johnson For This Useful Post: | ||
Simon Jutz (05-18-2015) |
#5
|
||||
|
||||
Hello Simon,
I also ran the model you sent on FlexSim 7.5.2 (64 bit) with the same result Jordan got: - Solutions 2, 3, 4, and 6 were flagged infeasible due to a violation of the fill rate constraint - Solutions 1, 5, 7, and 8 were flagged valid with fill rates between 0.48 and 0.98 Maybe reinstall FlexSim or try to run on another machine? Good Luck Ralf FlexSim |
The Following User Says Thank You to RalfGruber For This Useful Post: | ||
Simon Jutz (05-18-2015) |
#6
|
|||
|
|||
Hello Jordan!
Thanks for your comment! Unfortunatly I was not able to generate the reprots you are talking about. I added the node as you said in the enviornment tree and I gave it the numerical value 1.00. When I rerun the optimization, the reports weren't generated in the model'S directory. I have to mention that I am not very familiar with this part in flexsim. It's strange, but it seems whenever I add this node to the tree, save my model and close the whole session, after restarting the model the node has disappeared....is this correct? Appart from this particular issue I have other questions: 1) When you go away from testing partiuclar predefined scenarios (as in the above case) and you tell Optquest to search for a reasonable batch size combination (within the solution space), Optquest also reports FEASIBLE solutions when batch sizes on both stages are EQUAL. In constraint 3 in my model I specified that the batch size on the first stage should be greater than the batch size on the second stage. Theoretically, this constraint should therefore be violated too. 2) Has somebody experience with the formulation of the integrality constraints within the constraints? I want to be the batch size on the first stage to be a multiple integer of the batch size on the second stage. How can this be done? My idea: I first define an integer "K" (defined in the Performance Measures tab) and set this in another constraint as: K = (1,2,3,4) In a further constraint I define: BatchSizeMS1 = K * BatchSizeMS2 Thank you so much for your help! Best regards, Simon |
#7
|
|||
|
|||
Hi Jordan!
Fixed the very first issue in my last post and I now was able to generate the xml files. I attached the output. I tried 3 different machines all running with Flexsim 7.5.4. (64bit). The setup seems to be nice and I wasn't able to find a mistake (apart from the confusing arragement of the numbers). The solution xml though seems to be defective? I tried MS Excel or IE to open the file...just the standard. Nothing sophisticated. Does that mean now that optquest got something mistaken? Did you guys (Ralf+Jordan) run my model at your PCs and you got FEASIBLE solutions for the scenario in question? I tried three machines and the mistake remained. I also reinstalled Felxsim complelety as Ralf has suggested it. Do not know what else I could do... Thank you very much for any suggestions regarding this thing! Best, Simon |
#8
|
|||
|
|||
Constraint Issue, Constraint Dependencies
I emailed OptQuest about this constraint issue (where a > constraint is feasible, even when both quantities are equal), and this is what they said:
Quote:
As far as the second question goes (about having one variable depend on the value of another), I don't see a reason that wouldn't work. However, K needs to be defined as an experimenter variable, not as a performance measure. That way OptQuest will treat K as an input, rather than an output. Another solution is to put that logic in your model. Make a node or table with the value for K in it, and make that an experimenter variable. Your second batch can read K and the first batch size to determine its own batch size. If necessary, you can use the triggers found on the advanced tab. Best of luck, Jordan |
The Following 2 Users Say Thank You to Jordan Johnson For This Useful Post: | ||
Simon Jutz (05-26-2015) |
Thread | Thread Starter | Forum | Replies | Last Post |
something about constraints in the Optquest Optimizer | oliver xie | Q&A | 0 | 12-15-2014 08:46 PM |
Optquest in Flexsim7.3 | shivrash | Installation | 2 | 08-28-2014 08:48 AM |
How to work with Optquest | shivrash | Installation | 1 | 03-22-2013 06:10 PM |
Problem with Optquest | Simon Farsah | Q&A | 2 | 05-26-2010 12:53 AM |
Dinamically create or set OptQuest variables and contrainst | Gleny Rodriguez | Q&A | 1 | 03-19-2010 12:58 PM |