# LSPM Examples

#### Hi Josh I am trying to replicate the results on p…

Chris - Nov 2, 2011

Hi Josh

I am trying to replicate the results on page 87 (as mentioned in your post above) of the LSPM book. I do the following:
> data(port)
> DEctrl <- list(NP=30, itermax=100)
> res <- optimalf(port, control=DEctrl)

The result is :

Iteration: 100 bestvalit: -1.293917 bestmemit: 1.000000 0.000000 0.857813

MktSysA 0.307
MktSysB 0
MktSysC 0.693

Hi Chris,

I mention that in the post; in the last paragraph of text before the code. In short, the optimization algorithms are different and the algorithm in my post is able to find a set of f values that produce a higher GHPR.

Josh,

I am looking to accomplish two things with your R implementation of LSPM:

1. The ability to pickup the f values from a previous search and then continue the search with those values.

2. The ability to stop a search that is in process yet retain the current f values for use.

I have managed to accomplish the former with some rather inefficient code (coding is not my strong point) yet am at a loss as to how one could accomplish the latter:

I accomplish the former by writing the f values to file at the end of a run:

write.csv(results\$f, file="OUTPUT [f].csv”)

and then pick them up again prior to the next run by repopulating the initialpop with the following (here N=47):

initialpop=cbind(rep(f\$x[1],NP),rep(f\$x[2],NP),rep(f\$x[3],NP),rep(f\$x[4],NP),rep(f\$x[5],NP),rep(f\$x[6],NP),rep(f\$x[7],NP),rep(f\$x[8],NP),rep(f\$x[9],NP),rep(f\$x[10],NP),
rep(f\$x[11],NP),rep(f\$x[12],NP),rep(f\$x[13],NP),rep(f\$x[14],NP),rep(f\$x[15],NP),rep(f\$x[16],NP),rep(f\$x[17],NP),rep(f\$x[18],NP),rep(f\$x[19],NP),rep(f\$x[20],NP),
rep(f\$x[21],NP),rep(f\$x[22],NP),rep(f\$x[23],NP),rep(f\$x[24],NP),rep(f\$x[25],NP),rep(f\$x[26],NP),rep(f\$x[27],NP),rep(f\$x[28],NP),rep(f\$x[29],NP),rep(f\$x[30],NP),
rep(f\$x[31],NP),rep(f\$x[32],NP),rep(f\$x[33],NP),rep(f\$x[34],NP),rep(f\$x[35],NP),rep(f\$x[36],NP),rep(f\$x[37],NP),rep(f\$x[38],NP),rep(f\$x[39],NP),rep(f\$x[40],NP),
rep(f\$x[41],NP),rep(f\$x[42],NP),rep(f\$x[43],NP),rep(f\$x[44],NP),rep(f\$x[45],NP),rep(f\$x[46],NP),rep(f\$x[47],NP))

However would you know how I could accomplish stoping a process that is running yet retain the f values so that they could be used or the process can be restarted again at a latter time if required?

Grant

I created a more elegant solution to (1):