3
$\begingroup$

I am building a web-based tool that needs to take input from the user and run an optimization model on a server and display results back on the webpage. Currently it is a MIP formulation solved using commercial solver and takes about a minute to run on average. (Some runs take upwards of 10 minutes to even find a solution)

The problem is that customers have set acceptance criteria at 3 secs; from the time button is clicked to running optimization model on the server to rendering the outputs.

I am trying to find out if there are any studies out there that analyzed how long users would be willing to wait before getting annoyed. Some factors to consider:

  1. End users are internal customers who will use that tool once a month to plan for resources.
  2. Users are expected to run about 5-10 experiments before finalizing their plans

I can implement some solutions to decrease running time but before doing that, I want to determine in a scientific way what running time to target for this kind of application.

$\endgroup$
3
  • 1
    $\begingroup$ Honestly, if someone runs your model once a month and you're saving them time compared to what they do (e.g., it currently takes them half a day and you're doing it all in an hour), they shouldn't complain about the slowness. In that example, you're giving them back 75% of their time. If it's frustration because they can't know whether the model is doing something, you can have some simple loading/moving animation or some logs along the way that show them your model is running. $\endgroup$
    – EhsanK
    Mar 8, 2022 at 22:34
  • 1
    $\begingroup$ I cant' cite any studies, but I'm pretty sure customer patience is a function of what the customer is getting (or doing) and what the customer thinks is a "reasonable" time (which would be longer for a surgery than for a haircut). Also, MIP models will decide for you how long they are going to take (usually longer than you were hoping). $\endgroup$
    – prubin
    Mar 9, 2022 at 0:24
  • $\begingroup$ Please, take a look at this, this, and this links. $\endgroup$
    – A.Omidi
    Mar 9, 2022 at 5:41

1 Answer 1

4
$\begingroup$

There's a classic story (which I think is legitimate) about an office building in New York City where tenants complained about how long it took to get an elevator. After determining that adding elevators was out of the question and installing warp drives on them was, um, impractical, someone got the idea of installing mirrors in the lobbies. Sure enough, complaints went down.

While looking for that story online, I found a blog post you mind find useful. A couple of key points would be creating reasonable expectations and then meeting or exceeding them (so, be conservative on any quoted solution times), and keeping the users occupied (or amused, or at least informed).

One possibility that comes to mind would be to provide the user every so often with information on the objective value of the current incumbent solution and maybe the optimality gap (along with a little boilerplate explaining in simple terms what the gap represents), and optionally providing the user with a button to cut the solution short and accept the incumbent as "good enough" (assuming they have the authority to do that).

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.