public void Run(
	int N,
	double[] X,
	int offset_x,
	double[] L,
	int offset_l,
	double[] U,
	int offset_u,
	int[] NBD,
	int offset_nbd,
	double[] G,
	int offset_g,
	ref int[] IORDER,
	int offset_iorder,
	ref int[] IWHERE,
	int offset_iwhere,
	ref double[] T,
	int offset_t,
	ref double[] D,
	int offset_d,
	ref double[] XCP,
	int offset_xcp,
	int M,
	double[] WY,
	int offset_wy,
	double[] WS,
	int offset_ws,
	double[] SY,
	int offset_sy,
	double[] WT,
	int offset_wt,
	double THETA,
	int COL,
	int HEAD,
	ref double[] P,
	int offset_p,
	ref double[] C,
	int offset_c,
	ref double[] WBP,
	int offset_wbp,
	ref double[] V,
	int offset_v,
	ref int NINT,
	double[] SG,
	int offset_sg,
	double[] YG,
	int offset_yg,
	int IPRINT,
	double SBGNRM,
	ref int INFO,
	double EPSMCH
)
Public Sub Run ( 
	N As Integer,
	X As Double(),
	offset_x As Integer,
	L As Double(),
	offset_l As Integer,
	U As Double(),
	offset_u As Integer,
	NBD As Integer(),
	offset_nbd As Integer,
	G As Double(),
	offset_g As Integer,
	ByRef IORDER As Integer(),
	offset_iorder As Integer,
	ByRef IWHERE As Integer(),
	offset_iwhere As Integer,
	ByRef T As Double(),
	offset_t As Integer,
	ByRef D As Double(),
	offset_d As Integer,
	ByRef XCP As Double(),
	offset_xcp As Integer,
	M As Integer,
	WY As Double(),
	offset_wy As Integer,
	WS As Double(),
	offset_ws As Integer,
	SY As Double(),
	offset_sy As Integer,
	WT As Double(),
	offset_wt As Integer,
	THETA As Double,
	COL As Integer,
	HEAD As Integer,
	ByRef P As Double(),
	offset_p As Integer,
	ByRef C As Double(),
	offset_c As Integer,
	ByRef WBP As Double(),
	offset_wbp As Integer,
	ByRef V As Double(),
	offset_v As Integer,
	ByRef NINT As Integer,
	SG As Double(),
	offset_sg As Integer,
	YG As Double(),
	offset_yg As Integer,
	IPRINT As Integer,
	SBGNRM As Double,
	ByRef INFO As Integer,
	EPSMCH As Double
)