Coder Social home page Coder Social logo

yalmip / yalmip Goto Github PK

View Code? Open in Web Editor NEW
447.0 30.0 129.0 8.57 MB

MATLAB toolbox for optimization modeling

Home Page: https://yalmip.github.io/

License: Other

MATLAB 97.59% M 2.22% Objective-C 0.09% C 0.10% Limbo 0.01%
matlab optimization modeling

yalmip's Introduction

yalmip's People

Contributors

alastair-abbott avatar alen-mujkanovic avatar araujoms avatar aszekmosek avatar blegat avatar bstellato avatar darnstrom avatar ddlmcp avatar denisrosset avatar egidioln avatar frankpermenter avatar giofantuzzi avatar htadashi avatar jdbancal avatar johanlofberg avatar josipkh avatar kaienfr avatar mariocastrogama avatar mfry-ll avatar pablokrupa avatar piotrbalik avatar pvogt09 avatar rdzman avatar riis-hhd avatar robertgj avatar rschwan avatar tarnold17 avatar wannesvl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

yalmip's Issues

Bug in robustify

line #124 should be changed from

[F_eq_left,F_eliminate_equality] = filter_eliminatation(F_eq,w,0);

to

[F_eq_left,F_eliminate_equality] = filter_eliminatation(F_eq,w,0, ops);

Check internal structs for consitency

Add a time tag when the internals are cleared and attach this to all objects created. If time tag on object is older than in core, it indicates yalmip('clear') has been issued since variable was created and user should be informed about the situation.

Crash in problem compilation for indefinite quadratic

Error happens when the variable eae=0.2, but replace with 0.21 and it works. Seems to generate a quadratic with very small negative eigenvalues, thus triggering the code to treat marginally indefinite problems as positive semidefinite.

Note: Problem is nonconvex as it is bilinear.

Expected behaviour: No crash in either case, report as nonconvex?

Kronecker slow

Trying to do

A = sdpvar(8760/4,40)
B = kron(A, ones(4,1))

is very slow, compared to

A = randn(8760/4,40)
B = kron(A, ones(4,1))

Cut operator for SOCPs

Does not work if SOCP originates in a high-level model, since only the lifted constraint is marked as a cut. The internally generated SOCP will be a normal constraint

setdependence slow

yalmip('clear')
N = 5000;
w = sdpvar(N, 1);
previousPos = rand(N, 1);
constraint = [0.0001 <= abs(w) <= 0.04, sum(abs(w)) == 1, abs(sum(w)) <= 0.04, sum(abs(w - previousPos)) <= 0.1];

Individual test-code for every solver

Attach solver definitions with test-scripts to be run to detect issues etc. A field is already there, just has to be populated, and some layer around it to make it useful

Optimizer misses trivially infeasible model

Models which instantiates to trivially infeasible SOCP cones are not handled correctly

yalmip('clear')
sdpvar x
sdpvar z
sdpvar y
P = optimizer([-1 <= y <= 1,y >= z*z],x^2,[],[y;z],x)
[~,err] = P{[0;2]};

mtimes fails

To reproduce

yalmip('clear')
sdpvar x y z
x = x^2;
y = y^2;
z = z^2;

p1 = (x+y)^4;
p2 = -8_x^2;
(x+y)_(x+y)

Clean code wrt qcqp->socp->qcqp

Reverse the login in compileinterfacedata when checking for which solver this not should be done. reverese to for which it should be done

Dualize fails

clear all
clc
X = sdpvar(4,4);
% Imposing psd on full X: Works fine.
% Imposing psd on a few submatrices only
submat1 = [1 2 3]; submat2 = [1 2 4];
F = [X(submat1,submat1) >= 0];
F = [F, X(submat2,submat2) >= 0];
% Some random additional constraints
F = [F, X(1,2) == 2];
obj = trace(X);
ops = sdpsettings('dualize',1);
solvesdp(F,obj,ops);

Matrix slog fails

log2(1+sdpvar(2))
Error using slog (line 23)
SLOG only defined for vector arguments

Loading of sdpvar objects renders YALMIP unusable

After an sdpvar is loaded from disk, YALMIP stops to function properly.

To reproduce (Matlab R2011a, YALMIP e227e5):
sdpvar x
save x
clear
load x
clear
sdpvar y
double(y)
??? Cell contents reference from a non-cell array object.

Error in ==> yalmip at 617
varargout{1} = internal_sdpvarstate.optSolution{internal_sdpvarstate.activeSolution};

Error in ==> sdpvar.double at 37
solution = yalmip('getsolution');

Plotting of non-convex sets

It would be uber-cool if YALMIP could plot non-convex sets. Admittedly, this is more a wish rather than a reasonable request.

sdpvar x1 x2
plot([ x1^2 + x2^2 >= 1 ; -2 <= [x1; x2] <= 2 ])

Optimizer claims infeasible incorrectly

When variables are eliminated feasibility is incorrectly determined

sdpvar x
sdpvar z
sdpvar y
P = optimizer([-1 <= y <= 1,x <= 10+z*x],x^2,[],[y;z],x)
[~,err] = P{[0;5]};
err

The reason is that the ordering is messed up. Internally somewhere, it is assumed the parametric variables are listed in the same order as they were defined

Add GEVP solver

Implement internal GEVP solver, automatically extracting the GEVP model from a bilinear SDP

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.