tp108r.apm.m4
Model tp108r
! Source version 1
! The present file has to be drawn through the m4 macro processor
! at first, with or without `-Drevisedhs'. With the macro
! defined, the feasible domain is reduced in comparison with the H+S
! one such that the solution becomes unique.
ifdef(`revisedhs',`define(`stricths',0)',`define(`stricths',1)')
Parameters
mfcorrhs = 0
End Parameters
Variables
x[1:8] = 1
x[9:9] = 1, >= 0
obj
End Variables
Intermediates
c[ 1] = 1 - x[3]^2 - x[4]^2
c[ 2] = 1 - x[9]^2
c[ 3] = 1 - x[5]^2 - x[6]^2
c[ 4] = 1 - x[1]^2 - (x[2] - x[9])^2
c[ 5] = 1 - (x[1] - x[5])^2 - (x[2] - x[6])^2
c[ 6] = 1 - (x[1] - x[7])^2 - (x[2] - x[8])^2
c[ 7] = 1 - (x[3] - x[5])^2 - (x[4] - x[6])^2
c[ 8] = 1 - (x[3] - x[7])^2 - (x[4] - x[8])^2
c[ 9] = 1 - x[7]^2 - (x[8] - x[9])^2
c[10] = x[1]*x[4] - x[2]*x[3]
c[11] = x[3]*x[9]
c[12] = (-1)*x[5]*x[9]
c[13] = x[5]*x[8] - x[6]*x[7]
mf = (-1/2)*(x[1]*x[4] - x[2]*x[3] + &
x[3]*x[9] - x[5]*x[9] + &
x[5]*x[8] - x[6]*x[7])
mfcorrr = (3*x[1] - 2*x[2])^2 + (3*x[5] - 2*x[6])^2
End Intermediates
Equations
c[1:13] >= 0
! the problem is pretty ill-posed; though the best known
! objective is quite stable the solution is capricious
! without additional pressure
obj = mf + ifelse(stricths,1,`mfcorrhs',`mfcorrr')
! best known objective = (-1/2)*sqrt(3) = -0.8660254037844386
! aux1 = (2/13)*13^(1/2)
! aux2 = (3/13)*13^(1/2)
! aux3 = (1/13)*13^(1/2) - (3/26)*13^(1/2)*3^(1/2)
! aux4 = (3/26)*13^(1/2) + (1/13)*13^(1/2)*3^(1/2)
! begin of best known solution belonging to the revised case
! x[1] = aux1 = 0.5547001962252291
! x[2] = aux2 = 0.8320502943378437
! x[3] = aux3 = -0.4432265940102775
! x[4] = aux4 = 0.8964096085841832
! x[5] = aux1 = 0.5547001962252291
! x[6] = aux2 = 0.8320502943378437
! x[7] = aux3 = -0.4432265940102775
! x[8] = aux4 = 0.8964096085841832
! x[9] = 0
! end of best known solution belonging to the revised case
End Equations
End Model
Stephan K.H. Seidl