0

Assume we know the values of xg, yg, a, b, m then the problem is described as follows:

minimize (x - xg)2 + (y - yg)2
s. t     |x - a| > m
         |x - b| > m

Also suggest state vector. I think X = [x; y] In Which optimization technique like QP, least squares etc., this problem can be described ?? What should be the corresponding matrices ??

hafizas101
  • 11
  • 3

2 Answers2

1

Restating the problem:

minimize (x - xg)2 + (y - yg)2
subject to
    |x - a| ≥ m
    |x - b| ≥ m

Algorithm:

  1. y := yg
  2. if feasible(xg) then x := xg; STOP
  3. objbest := ∞
  4. x := a-m; if feasible(x) then objbest := F(x); xbest := x
  5. x := a+m; if feasible(x) and F(x)<objbest then objbest := F(x); xbest := x
  6. x := b-m; if feasible(x) and F(x)<objbest then objbest := F(x); xbest := x
  7. x := b+m; if feasible(x) and F(x)<objbest then objbest := F(x); xbest := x
  8. x := xbest

An alternative would be an MIQP model with a binary variable or a series of QP models.

Erwin Kalvelagen
  • 15,677
  • 2
  • 14
  • 39
  • Thanks for your response. Considering this description of MIQP https://tomopt.com/docs/quickguide/quickguide006.php Let us choose x = state vector = [x; y], what should be the following matrices: F, c, x_L, x_U, A, b_L, b_U ?? – hafizas101 Dec 01 '19 at 21:36
  • The stated algorithm is easier and faster IMHO. I'll stick with that. – Erwin Kalvelagen Dec 01 '19 at 23:05
0

Your problem is a linear least squares, i.e. least squares quadratic objective with linear inequality constraints. Your constraints, in linear form, can be written

G * x <= h

with

G = [[+I, 0]
     [-I, 0]]

h = [a - m,
     -a - m]

with I the identity matrix corresponding to x and 0 the zeros matrix corresponding to y. I may have got the formulas wrong ;) But the idea is that |x| < u is equivalent to the two inequalities +x < u and -x < u.

You can solve your problem using either a linear least squares or quadratic programming solver, as these two problem classes are equivalent. Available solvers will depend on the programming languages you choose.

Tastalian
  • 369
  • 4
  • 12