bugGNU Octave - Bugs: bug #56283, [octave forge] (optim 1.6.0)...

 
 

bug #56283: [octave forge] (optim 1.6.0) fmincon ignores nonlinear equality constraints

Submitter:  Torsten Lilge <ttl>
Submitted:  Tue 07 May 2019 06:52:11 PM UTC
   
 
Category:  Octave Package Severity:  3 - Normal
Priority:  5 - Normal Item Group:  None
Status:  Fixed Assigned to:  None
Originator Name:  Torsten Open/Closed:  * Closed
Release:  * 5.1.0 Operating System:  * GNU/Linux
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Tue 14 May 2019 08:56:13 PM UTC, comment #3: 

Works as expected now, thanks again for fixing.

Closing the report as fixed.

Torsten Lilge <ttl>
Group Member
Tue 14 May 2019 08:20:50 PM UTC, comment #2: 

Great, thanks for fixing. I will test and compare the result to the solution I get using sqp.

Torsten Lilge <ttl>
Group Member
Tue 14 May 2019 06:57:40 PM UTC, comment #1: 

Thanks. There was a typo which prevented combined linear and non-linear constraints (within either inequality or equality constraints) to work, which wasn't caught by the built-in tests.

Fixed in the repository by this changeset:

https://sourceforge.net/p/octave/optim/ci/5cd7eb757cd4d638e3a31aac535da921af64ebd9/

With the fix, your test script gives a result which doesn't look so terrible at first glance. Maybe you can give a feedback.

Note that it was a bug, too, that it was necessary to transpose the constraints matrix. This is now also fixed:

https://sourceforge.net/p/octave/optim/ci/1cbc476223466088bba57c96591ccb45f4d0c7b8/

Olaf Till <i7tiol>
Group Member
Tue 07 May 2019 06:52:11 PM UTC, original submission:  

The fmincon function ignores the nonlinear equality constraints at least for the example attached to this report.

The example is an open-loop optimal control of a discrete-time system within a finite optimization horizon. The task is to find the optimal input values together with the related output values within the optimization interval. The system dynamics, i.e., the relation between current input, old and current output values, is given by the nonlinear constraints function.

For the final results, the nonlinear equality constrains are not zero and the algorithm finds trivial values which make no sense for the given system. The same code runs as expected on Matlab.

Torsten Lilge <ttl>
Group Member

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #46876:  fmincon_test.m added by ttl (2KiB - text/x-objcsrc)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by i7tiol (Posted a comment)
  • -email is unavailable- added by ttl (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2019-05-14 ttl StatusNone Fixed
        Open/ClosedOpen Closed
    2019-05-07 ttl Attached File- Added fmincon_test.m, #46876

    Back to the top

    Powered by Savane 3.13-caa5.
    Corresponding source code