Mantis Bugtracker

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0000824 [ALGLIB] Optimization minor always 2018-09-04 11:57 2018-09-04 11:57
Reporter rmanthorpe View Status public  
Assigned To
Priority normal Resolution open  
Status new   Product Version 3.14.0
Summary 0000824: Breaking change in minlmoptimize exception handling
Description The example below should print "user error" but instead prints "ALGLIB: exception generated in user callback". This change happened between 3.12 and 3.13. It's now no longer possible to find out what caused optimisation to fail, only that an exception was thrown.

test.cpp
---------------------------------------------------------------
#include "optimization.h"
#include <cstdio>

void callback(const alglib::real_1d_array&, alglib::real_1d_array&, void*)
{
    throw "user error";
}

int main()
{
    alglib::minlmstate state;
    alglib::real_1d_array x;
    x.setlength(1);
    alglib::minlmcreatev(1, x, 1e-5, state);
    try
    {
        alglib::minlmoptimize(state, &callback);
    }
    catch (const char* e)
    {
        std::printf(e);
    }
    catch (alglib::ap_error& e)
    {
        std::printf(e.msg.c_str());
    }
    return 0;
}
Additional Information
Programming language C++
Attached Files

- Relationships

There are no notes attached to this issue.

- Issue History
Date Modified Username Field Change
2018-09-04 11:57 rmanthorpe New Issue
2018-09-04 11:57 rmanthorpe Programming language => C++


Mantis 1.1.6[^]
Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker