Solver Error

G

Guest

Hi all,
I'm getting the following error when i call solver from VBA.

"Solver: An unexpected internal error occured, or available memory was
exhausted."

I use excel 2000 SP3 version. Is there any way to get rid of this problem?.
Pls help me out.
Thanks in advance,
Madhavan.R
 
G

Guest

Thanks DucA for the updated link.

But after contacting microsoft they say that the fix is available only on a
chargeable basis. I could read the following sentence from the microsoft
support page http://support.microsoft.com/gp/professionalboundary/zh-sg
as "If a problem is determined by Microsoft to be the result of a defect in
a Microsoft product, the customer will not be charged for that incident".

Could anyone or any MVP's clarify me...

Thanks,
Madhavan.R
 
D

Dana DeLouis

Hi. This will not solve your problem, but could you do me a favor and run
this at the start of your macro. I'd be curious what your MsgBox says.
Thanks.

Sub Your_Code()
MsgBox SOLVER.AutoOpened 'Display Flag
SOLVER.Auto_open ' No harm, re-build it anyway...

'// Your code....
End Sub

Are you using the English version of Excel?
 
G

Guest

Hi Dana DeLouis,
Thanks for the initiative.
The Message box gives me the message "False".
I use english version of Excel.
Curious for your reply...
Madhavan.R
 
D

Dana DeLouis

Hi. That is interesting. Did you run your code with the following line at
top?
The line just deletes a small sheet within Solver, and re-builds it. I've
never really understood why it needs to be re-built each time Solver is
loaded normally...perhaps it updates some internal DLL references or
something. I'd be curious on your reply, as this sometimes happens with
later versions of Excel as well, However, I've not experienced this issue
with Office 2003.

Sub Your_Code()
SOLVER.Auto_open ' No harm, re-build it anyway...

'// Your code here...
'// etc...
End Sub

Perhaps at a later time, you can test it with the following:

Sub YourCode()
If Not SOLVER.AutoOpened Then SOLVER.Auto_open
'// Your Solver routine below...
'// etc...
End Sub
 
G

Guest

Hi
Very first time when i ran, the Msgbox gave me False...From then on it gives
me True everytime...I suppose it should give TRUE as per what u say...
But this does not solve my problem...
Yeah...ofcourse i included the SOLVER.Auto_Open at the beginning of my code...
What other possibilities u feel are there to solve this problem...?
Thanks,
Madhavan.R
 
D

Dana DeLouis

I don't have any other ideas at the moment. I would think that Microsoft
would send you the patch for free if you call and reference the kb article.
I've never understood why they won't post the patch anyway. Perhaps call
back and hope you talk with someone else.
 
G

Guest

Hi !

I just want to say I have encountered the same problem,

"Solver: An unexpected internal error occurred, or available memory was
exhausted"

It happened to me using both the italian and the english version,moreover I
have used Excel 2002 v. 10.67;
sometimes it was sufficient to update the solver references, then save and
try again; if it doesn't work try to close the program and start it
again...today I could solve this problem three times but I don't know why!

L.
 
G

Guest

Thanks all,

Finally i got a solution (Might not be good for all kind of Solver Problems)
for my case... I just reduced the number of solver options controlled by
VBA...Previously i had written the code such that it controls all the solver
options...Now i reduced it to only my requirements and setting other options
to default...Now it works...

Line which caused the error:

SolverOptions MaxTime:=100, Iterations:=100, Precision:=0.000001,
AssumeLinear _ :=False, StepThru:=False, Estimates:=1,
Derivatives:=1,SearchOption:=1, _IntTolerance:=5, Scaling:=False,
Convergence:=0.0001, AssumeNonNeg:=True

Modified Line which worked for me:

SolverOptions MaxTime:=100, Iterations:=100, Precision:=0.000001,
AssumeNonNeg:=True

All other options were set to default...

Thanks once again for all your valuable inputs...

Madhavan.R
 
D

Dana DeLouis

Thank you for the feedback. That's good to know.

Just out of curiosity, if you set AssumeNonNeg to False in the beginning,
then later change it to True by itself, would it work? For example...

SolverOptions MaxTime:=100, Iterations:=100, Precision:=0.000001,
AssumeLinear _
:=False, StepThru:=False, Estimates:=1, Derivatives:=1, SearchOption:=1, _
IntTolerance:=5, Scaling:=False, Convergence:=0.0001, AssumeNonNeg:=False

'// Now set it correctly...
SolverOptions AssumeNonNeg:=True
 
G

Guest

Just came back to home from work and saw your reply.
Will test what u said once i log-in at work on Monday (06/13) and let u know.
Thanks,
Madhavan.R
 
G

Guest

Hi Dana,

Today i checked that...I ran my macro by changing the solver options in the
code...It works...Now i hope its easy to figureout that the problem is only
with the other solver options...Some kind of research on those would find a
much better solution...

Thanks,
Madhavan.R
 
A

ahmtsn

Hello. I have used the code Dana provided below and it is amazing. It
solved my problem right away. Where can I learn about what Dana knew,
when Dana was writing the code? Is there a reference for it somewhere
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top