{ "cells": [ { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import pulp" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def solveAndPrint(problem):\n", " pass\n", " #TODO dla chętnych: napisać funkcję, która przyjmuje jako argument problem i wyświetla go,\n", " #rozwiązuje oraz wypisuje optymalne wartości zmiennych decyzyjnych i funkcji celu, podobnie\n", " #jak w komórkach 6-10 z przykładu ze strony" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "1\\. Przedsiębiorca chce zainwestować najwyżej 10 000 zł w dwa fundusze: fundusz\n", "akcji i fundusz obligacji. Średni roczny zysk funduszu akcji wynosi 12%, zaś zysk funduszu\n", "obligacji 9%. Przedsiębiorca postanowił, że w fundusz obligacji zainwestuje co najmniej 2 000\n", "zł i nie więcej niż 6 000 zł w fundusz akcji. Ponadto przedsiębiorca nie chce zainwestować w\n", "fundusz akcji więcej niż w fundusz obligacji. Ile pieniędzy powinien on zainwestować w fundusz\n", "akcji, a ile w obligacji, aby osiągnąć maksymalny zysk w ciągu roku? Jakiego zysku może\n", "wówczas oczekiwać?" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [], "source": [ "problem = pulp.LpProblem('Problem przedsiębiorcy', pulp.LpMaximize)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Zdefiniuj zmienne decyzyjne:" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Dodaj funkcję celu:" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Dodaj ograniczenia:" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Zobacz zawartość zmiennej **problem**:" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Rozwiąż problem i sprawdź jego status:" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Wypisz optymalne wartości zmiennych decyzyjnych i funkcji celu:" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "2\\. Badacz musi zrealizować projekt obejmujący badania EEG i eyetrackerem na tych samych osobach. Badanie ma obejmować 2 typy bodźców na EEG i 4 typy bodźców na eyetrackerze. Średnie czasy trwania bodźców wynoszą odpowiednio 6 i 12 sekund. Przygotowanie badania dla jednej osoby na EEG trwa 20 minut, a na eyetracker 7 minut. Badacz wie, że chce eksponować nie mniej niż 120 bodźców w trakcie obu badań jednej osoby. Wie ponadto, że całe badanie nie powinno trwać dłużej niż godzinę. Z założeń projektu wynika też, że powinnien zebrać minimum po 30 bodźców jednego typu w badaniach EEG i po 25 bodźców jednego typu w trakcie badania eyetrackingowym. Badacz chce zebrać jak najwięcej wartościowych wyników pamiętając, że 30 % reakcji z EEG i 20 % z reakcji z eyetrackingu to z reguły artefakty. " ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "3\\. Planujemy badanie podłużne. Co miesiąc należy monitorować postępy dzieci biorących udział w badaniu w nauce czytania w zależności od metody czytania tekstu zaproponowanej nauczycielowi. Wymagają one aby co miesiąc badanie obejmowało: 20 godzin nagrań głośnego czytania, 30 godzin rejestrowania pracy z tekstem na lekcjach oraz 30 godzin nagrań czytania na głos przez nauczycieli.\n", "Każdorazowe zajęcia z czytania w szkołach objętych badaniem obejmują po:\n", "10 minut głośnego czytania, 20 minut pracy z tekstem i 15 minut czytania przez nauczycieli w szkole nr. 1;\n", "10 minut głośnego czytania, 10 minut pracy z tekstem i 25 minut czytania przez nauczycieli w szkole nr. 2;\n", "15 minut głośnego czytania, 15 minut pracy z tekstem i 15 minut czytania przez nauczycieli w szkole nr. 3.\n", "Każdorazowa wizyta w szkole kosztuje badaczy (dojazdy oraz wynagrodzenie dla szkoły) 50 zł w szkole nr. 1, 30 zł w szkole nr. 2 oraz 40 zł w szkole n. 3.\n", "Ile razy powinni badacze odwiedzić każdą ze szkół, aby uzyskać odpowiednią ilość nagrań najmniejszym kosztem?" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "4\\. Problem plecakowy – mamy 7 elementów, z których każdy ma pewną wagę\n", "(wypisaną w tabelce) oraz zysk. Jakie elementy (mamy do dyspozycji po jednej sztuce\n", "każdego) należy włożyć do plecaka, aby maksymalizować zysk, przy czym do plecaka może się\n", "zmieścić ilość przedmiotów o całkowitej wadze nie przekraczającej 20.\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Element nrWagaZysk
144
2710
333
41013
556
657
71520
" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "5\\. Mamy grupę ludzi, którzy mają zostać wybrani do pracy w firmie informatycznej.\n", "Każdy z nich oczekuje też pewnej konkretnej pensji.\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ImięPensja
Jan Kowalski5000
Anna Nowak4500
Tomasz Niewiadomski6000
Ewa Kaczmarek3500
\n", "\n", "Posiadają oni następujące umiejętności:\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
NazwaJ.K.A.N.T.N.E.K.
J. Angielski+--+
J. Niemiecki+-+-
Prawo jazdy-+++
Dyspozycyjność w weekend-+++
Zdolności kierownicze++--
Programowanie+++-
Znajomość marketingu--++
Obsługa sieci komputerowej++--
Techniki optymalizacji--++
\n", "\n", "Jakie osoby należy wybrać tak, aby była przynajmniej jedna osoba, która posiada każdą z\n", "umiejętności?" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "6\\. Mamy trzy magazyny w różnych miastach (Detroit, Pittsburgh i Buffalo), w których\n", "znajduje się odpowiednio 250, 130 i 235 ton papieru. Są cztery wydawnictwa ( Boston, New\n", "York, Chicago i Indianapolis), które potrzebują odpowiednio 75, 230, 240 i 70 ton papieru aby\n", "produkować nowe książki. Mamy następujące koszty transportu z miasta do miasta (za tonę\n", "papieru):\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
From \\ ToBoston (BS)New York (NY)Chicago (CH)Indianapolis (IN)
Detroit (DT)15201621
Pittsburgh (PT)2513511
Buffalo (BF) 1515717
\n", "\n", "Zaplanuj transport papieru tak, aby koszt był jak najmniejszy." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.2" } }, "nbformat": 4, "nbformat_minor": 1 }