--- This is the beta version of SOCP --- COPYRIGHT (c) 1997 Miguel Sousa Lobo, Lieven Vandenberge, Stephen Boyd, Herve Lebret. Permission to use, copy, modify, and distribute this software for any purpose without fee is hereby granted, provided that this entire notice is included in all copies of any software which is or includes a copy or modification of this software and in all copies of the supporting documentation for such software. This software is being provided "as is", without any express or implied warranty. In particular, the authors do not make any representation or warranty of any kind concerning the merchantability of this software or its fitness for any particular purpose. I. INTRO II. FILES III. KNOWN PROBLEMS IV. FOR MORE INFO --- I. INTRO --- To get started: 1. get the file socp.tar.Z (in binary mode!) 2. use uncompress or zcat 3. use tar x Included is: documentation, c source, source for the cmex interface that makes SOCP usable from matlab, matlab .m functions to simplify interfacing to the code, makefiles and compiled versions for some unix platforms. To use the mex files, you should set your matlab path to include the socpfun/ subdirectory. For example, you can use a .m script file that includes something like: path(path, '/home/boyd/src/socp/socpfun/'); --- II. FILES --- Files in each subdirectory of socp: in socpfun/ Contents.m contents file for matlab (type "help socpfun" in matlab to display) socp.m matlab interface to socp socp1.m analytic solution of socp with a single constraint socp.h header file for socp.c and socp_mex.c socp.c c source code socp_mex.c cmex interface, calls fcts in socp.c Makefile.* makefiles for different systems to make socp0.mex*, read the files for more info. socp_mex.mex* compiled mex-functions for matlab on different platforms, matlab will automatically recognize and use the appropriate version in doc/ doc.ps documentation (in post-script format) socp.ps the associated survey paper (in post-script format) in examples/ (NOTE: Not all the examples described next are in the current distribution package.) in examples/lp/ lp.m generate and solve random LPs of different dimensions plot statistics in examples/other/ example.m very simple example analytic solve SOCP with single constraint, compare numerical with analytic solution in examples/antenna/ test97 data file with antenna response run.m compute tradeoff curve, beamwidth vs. sidelobe level for an antenna array with response measured empirically graphs.m plot results from run.m in examples/array-xy/ run.m antenna array weigth design, theoretical model for response, omnidirectional elements placed randomly, increasing in number in examples/grasp/ grasp_polyhedron.m compute max. scaling of set of forces/torques such that there is a stable grasp for all grasp_1.m example, maximize torque for a range of attrition coefficients grasp_robust.m example, robust grasping for forces in a ball (aproximated by a random polyhedron) in examples/matrix-frac/ mf.m example of matrix-fractional programing with socp in examples/random/ random_socp.m generate and solve random socp range_r_s.m calls r.m for a range of sizes run_short.m sequence of calls to test.m run.m sequence of calls to test.m, up to large problems in examples/robust-ls/ rnmat.m generate random matrix robust1.m robust linear least-squares problem, one instance robustn.m robust linear least-squares problems, over a range of sizes --- III. KNOWN PROBLEMS --- Bad behavior with some problems that have many constraints of very small dimension (eg. linear) AND constraints of large dimension. Using a small Nu the code still works acceptably, with number of iterations O(sqrt(L)). Also some numerical difficulties may be encountered if problem matrix is close to square (i.e. number of variables close to total rows in A and C), in which case you should consider using the dual problem as the primal. --- IV. FOR MORE INFO --- The header of socp.m contains a quick problem description (in matlab, type "help socp"). The main reference for this software is: "Second-Order Cone Programming" M. Lobo, L. Vandenberge, S. Boyd, H. Lebret submitted for publication, available from ftp://isl.stanford.edu/pub/boyd/reports/ or http://www-ISL.Stanford.EDU/people/boyd/socp.html --- END ---