25.11.2015 Views

The MOSEK Python optimizer API manual Version 7.0 (Revision 141)

Optimizer API for Python - Documentation - Mosek

Optimizer API for Python - Documentation - Mosek

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

150 CHAPTER 11. THE OPTIMIZERS FOR CONTINUOUS PROBLEMS<br />

Optimizer Associated Default<br />

parameter<br />

priority<br />

<strong>optimizer</strong>type.intpnt iparam.concurrent priority intpnt 4<br />

<strong>optimizer</strong>type.free simplex iparam.concurrent priority free simplex 3<br />

<strong>optimizer</strong>type.primal simplex iparam.concurrent priority primal simplex 2<br />

<strong>optimizer</strong>type.dual simplex iparam.concurrent priority dual simplex 1<br />

Table 11.4: Default priorities for <strong>optimizer</strong> selection in concurrent optimization.<br />

11.6.3.1 Concurrent optimization through the <strong>API</strong><br />

<strong>The</strong> following example shows how to call the concurrent <strong>optimizer</strong> through the <strong>API</strong>.<br />

##<br />

# Copyright: Copyright (c) <strong>MOSEK</strong> ApS, Denmark. All rights reserved.<br />

#<br />

# File: concurrent1.py<br />

#<br />

# Purpose: To demonstrate how to optimize in parallel using the<br />

# concurrent <strong>optimizer</strong>.<br />

##<br />

import sys<br />

import mosek<br />

from mosek.array import array<br />

# Since the actual value of Infinity is ignores, we define it solely<br />

# for symbolic purposes:<br />

inf = 0.0<br />

# Define a stream printer to grab output from <strong>MOSEK</strong><br />

def streamprinter(text):<br />

sys.stdout.write(text)<br />

sys.stdout.flush()<br />

# We might write everything directly as a script, but it looks nicer<br />

# to create a function.<br />

def main (args):<br />

# Open <strong>MOSEK</strong> and create an environment and task<br />

# Create a <strong>MOSEK</strong> environment<br />

env = mosek.Env ()<br />

# Attach a printer to the environment<br />

env.set Stream (mosek.streamtype.log, streamprinter)<br />

# Create a task<br />

task = env.Task(0,0)<br />

# Attach a printer to the task<br />

task.set Stream (mosek.streamtype.log, streamprinter)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!