FOSSEE Scilab Toolbox Fellowship 2019

REGISTRATION

  • The registration for FOSSEE Summer Fellowship 2019 starts on 1 February 2019.
  • For registration, click here.
  • To view the complete list of projects, click here.

IMPORTANT DATES:

Click here to know the important dates. 

Resources to learn scilab: http://spoken-tutorial.org/tutorial-search/?search_foss=Scilab&search_language=English

We are providing two tasks, at least one of which has to be done.

Screening Task 1: Develop examples/demos to test 5 functions in the FOT

Submit a  proposal, and wait for approval. It will take three days or less.

Develop Sclab examples to test any 5 functions listed on the FOT documentation page:

Examples for each function are available in the help documentation for each function. You may refer to these examples to understand how to develop your own examples. We expect applicants to show originality and develop examples that test the function. Submitting examples by changing few coefficients or degree of equations of existing examples will not score highly. You may refer to IEEE papers and textbooks to develop examples.

  1. There is no upper limit to the number of examples you may submit. More number of unique examples will score higher than few number of similar examples for the same function. 
  2. Each example code should be inside a separate .sce file. Example files should be named as example1.sce, example2.sce etc unless specified particularly.
  3. Add comments in the code that explain what is being tested, what the input arguments are and if the example would generate any error. Lucid comments that provide information about the example code will score highly.
  4. Copy and paste the output for every function inside each example file. You should include the output that is seen on the Scilab console. If the toolbox/Scilab crashes, mention it. If an error is seen, copy and paste the error. Developing examples that report bugs in the existing functions will earn brownie points. Also mention if your example generates plots. Do all of this as comments so the code can be executed as it is.
  5. Cite your references. On no account will plagiarism be tolerated. Such submissions will be rejected summarily. Mention the citations as comments in respective code.
  6. Create a README file for each function that has clear instructions about how to use the corresponding example codes that you write. The README file should include a set of rich instructions that explains the content inside each of the submitted code. If the README file fails to provide all instructions in order to be able to use your submitted code, you will lose points.

Screening Task 2: Develop the ecos function to be added to the toolbox.

Problem statement to develop a new function for FOSSEE Optimization Toolbox

A conic problem has conic (nonlinear) constraints in addition to linear objective function and linear constraints. Thus linear optimization is a special case of conic optimization.

ECOS is an open-source solver for computing solutions to conic optimization problems. Its documentation and source code are available online.

https://www.embotech.com/ECOS

https://github.com/embotech/ecos

Question 1

Download and install ECOS source code (C API only) and compile the library. You should  install it locally in a suitable location. You should get `libecos.a' file. Report the output of  executing the 'runecos' binary after the source code of ECOS is compiled.

Question 2

Write a C/C++ program to solve a linear optimization problem in 'n' variables. Your program should ask the user to enter an integer value 'n' when prompted, and solve  the following problem by calling the ECOS library.

minimize: x1 + 3x2 + 6x3 + 10x4 + ... + n*(n+1)/2*xn

subject to: x1 + x2 + ... + xn >= n/2

x1 >= 0

x2 >= 0

...

xn >= 0

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Procedure and Evaluation:

  1. Install Ubuntu( 15.10 to 17.10 supported for the latest version of FOT) or Windows 7-10 . Install Scilab 5.5.0/5.5.2. Install FOSSEE Optimization Toolbox- https://scilab.in/fossee-scilab-toolbox/optimization-toolbox-installation-instructions

  2. Add comments in the code that explain what is being tested, what the input arguments are and if the example would generate any error. Lucid comments that provide information about the example code will score highly.

  3. Copy and paste the output in each example file for every function. You should include the output that is seen on the Scilab console. If the toolbox/Scilab crashes, include that as a comment. If an error is seen, copy and paste the error. Developing examples that generate errors will earn brownie points. [for the first task]

  4. For the second task, you will be judged on code quality, practices followed, and correctness of output. Please provide a readme file. 

  • Cite your references. On no account will plagiarism be tolerated. Such submissions will be rejected summarily. 

Code Submission

1. You will receive an email with the subject line "FOSSEE Summer Fellowship 2019 - Submission".

2. Using the credentials provided, click here to visit the submission portal.

3. Select Scilab Toolboxes FSF 2019 under 'My Courses' section to submit the task(s).

Note: To consider for FOSSEE Fellowship 2019, the solution sets should only be submitted in the link using the username and password given in the registered email for Fellowship program.

If you have any FOSSEE Toolbox fellowship related doubts, please email toolbox[at]scilab[dot]in. Do not email any other address. We will reply only to queries for which answers are not available here. 

If you have a toolbox related query, please post your query on forums.fossee.in under ‘Scilab Toolbox’. Please do not email us toolbox related doubts. Such emails will be ignored.