Автор работы: Пользователь скрыл имя, 09 Ноября 2012 в 03:18, курсовая работа
Целью работы является реализация решения транспортной задачи методом потенциалов в системе Android, используя технические возможности устройства, применяя навыки и умения, полученные во время обучения.
Для достижения поставленной цели были поставлены следующие задачи:
Ознакомиться с операционной системой Google Android
Ознакомиться с особенностями разработки приложений на Android
Освоить среду разработки Eclipse для создания приложений
Разработать приложение для решения транспортной задачи
Введение 3
ГЛАВА 1. ИНФОРМАЦИЯ О ПЛАТФОРМЕ GOOGLE ANDROID 5
1.1. Устройства 5
1.2. Разработка программного обеспечения 5
1.3. Список версий Android 6
1.4. Альтернативные прошивки 11
1.5. Сравнение с другими операционными системами 12
ГЛАВА 2. ТРАНСПОРТНАЯ ЗАДАЧА ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ 21
2.1. Формулировка транспортной задачи 21
2.2. Методы построения начального опорного плана 28
2.3. Итерации 31
2.4. Алгоритм решения транспортной задачи методом потенциалов 34
ГЛАВА 3. СОЗДАНИЕ ПРИЛОЖЕНИЯ 36
3.1. Информация о Sony Ericsson Xperia Pro 36
3.2. Среда разработки Eclipse и Android SDK 37
3.3. Процесс создания приложения 40
Заключение 49
Список литературы 50
Составим двойственную задачу
1. , - любые
2.
3.
Пусть есть план
Теорема (критерий оптимальности): Для того чтобы допустимый план перевозок в транспортной задаче был оптимальным, необходимо и достаточно, чтобы существовали такие числа , , что
если
;
если
.
числа ui и vj называются потенциалами пунктов отправления Ai и назначения Bj соответственно.
Сформулированная теорема позволяет построить алгоритм нахождения решения транспортной задачи. Он состоит в следующем. Пусть одним из рассмотренных выше методов найден опорный план. Для этого плана, в котором базисных клеток, можно определить потенциалы ui и vj так, чтобы выполнялось условие (5). Поскольку система (2)-(4) содержит уравнений и неизвестных, то одну из них можно задать произвольно (например, приравнять к нулю). После этого из уравнений (5) определяются остальные потенциалы и для каждой из свободных клеток вычисляются величины . Если оказалось, что , то план оптимален. Если же хотя бы в одной свободной клетке , то план не является оптимальным и может быть улучшен путем переноса по циклу, соответствующему данной свободной клетке.
Циклом в таблице условий транспортной задачи, называется ломаная линия, вершины которой расположены в занятых клетках таблицы, а звенья - вдоль строк и столбцов, причем в каждой вершине цикла встречается ровно два звена, одно из которых находится в строке, а другое - в столбце. Если ломанная линия, образующая цикл, пересекается, то точки самопересечения не являются вершинами.
Процесс улучшения плана продолжается до тех пор, пока не будут выполнены условия (6) [15].
Порядок решения транспортной задачи методом потенциалов следующий:
=
-
при
>0,
если известен потенциал , и
=
-
при
>0,
если известен потенциал .
В данной работе мы будем показывать примеры на устройстве Sony Ericsson Xperia Pro.
Общее
Производитель: Sony Ericsson
Модель: XPERIA pro
Другие названия: MK16i, Iyokan
Год выпуска: 2011
Опер. сист.: Android 2.3
Емкость аккум. (мА·ч): 1500
Размеры
Габариты (мм):
(ширина х высота х толщина) 57 x 120 x 13.7
Вес (г): 140
Процессор
Тип процессора: Qualcomm Snapdragon MSM8255
Тактовая частота (МГц): 1000
Память
Оперативная память (Мб): 512
Flash-память (Гб): 1
Коммуникации
Телефон: GSM 850, GSM 900, GSM 1800, GSM 1900, UMTS 900, UMTS 2100
Bluetooth: 2.1
Wi-Fi: 802.11b,g,n
Другое: GPRS, EDGE, HSDPA, HSUPA, UMTS/WCDMA, GPS
Дополнительно: DLNA
Мультимедиа
Размер экрана: 3.7
Разрешение экрана (px): 480 x 854
Тип экрана: TFT
Видеоускоритель: Adreno 205
Камера сзади (Мп): 8
Автофокус: Есть
Фотовспышка: Есть
Камера спереди (Мп): 0.3
Динамик: моно
Выход наушников: 3.5
Другое: G-Sensor, Датчик освещенности, Датчик приближения, Цифровой компас, FM-радио
Управление и ввод
Сенсорный экран: ёмкостный
Кнопки: физические кнопки, QWERTY-клавиатура
Расширение
Карты памяти: microSD, microSDHC
Разъемы: microUSB, microHDMI
Дополнительно
Время работы: В режиме разговора до 7 ч, в режиме ожидания - до 430/400 ч (2G/3G)
Особенности: Камера имеет сенсор Sony Exmor R, экран с технологией Mobile BRAVIA Engine [16].
Eclipse — свободная интегрированная среда разработки модульных кроссплатформенных приложений. Развивается и поддерживается Eclipse Foundation.
Наиболее известные приложения на основе Eclipse Platform — различные «Eclipse IDE» для разработки ПО на множестве языков (например, наиболее популярный «Java IDE», поддерживавшийся изначально, не полагается на какие-либо закрытые расширения, использует стандартный открытый API для доступа к Eclipse Platform).
Eclipse — в первую очередь полноценная Java IDE, нацеленная на групповую разработку: среда интегрирована с системами управления версиями — CVS в основной поставке, для других систем (например, Subversion, MS SourceSafe) существуют плагины. В силу бесплатности и высокого качества, Eclipse во многих организациях является корпоративным стандартом для разработки приложений.
Второе назначение Eclipse — служить платформой для разработки новых расширений, чем он и завоевал популярность: любой разработчик может расширить Eclipse своими модулями. Уже существуют C/C++ Development Tools (CDT), разрабатываемые инженерами QNX совместно с IBM, и средства для языков COBOL, FORTRAN, PHP и пр. от различных разработчиков. Множество расширений дополняет среду Eclipse менеджерами для работы с базами данных, серверами приложений и др.
Eclipse написана на Java, потому является платформо-независимым продуктом, за исключением библиотеки SWT, которая разрабатывается для всех распространённых платформ (см. ниже). Библиотека SWT используется вместо стандартной для Java библиотеки Swing. Она полностью опирается на нижележащую платформу (операционную систему), что обеспечивает быстроту и натуральный внешний вид пользовательского интерфейса, но иногда вызывает на разных платформах проблемы совместимости и устойчивости приложений [20].
Android SDK - программа, представляющая
собой своеобразный эмулятор
популярной мобильной
Для рядовых пользователей программа Android SDK также окажется очень привлекательной находкой, ведь любители игр на смартфоне могут присмотреться к скачанной новинке ещё на компьютере, чтобы не устанавливать в мобильное устройство те приложения, которые не пригодятся.
Особенности программы Android SDK:
Для разработки приложений для платформы Google Android нам потребуется:
Eclipse – это платформа, на которой работает плагин. Загрузите последнюю версию Eclipse Classic;
Этот Eclipse-плагин можно установить, руководствуясь инструкциями по установке Android SDK;
Рис.7. Интерфейс программы Eclipse
Скачиваем и устанавливаем программу Eclipse и Android SDK. Дале создаем эмулятор, в котором мы будет тестировать наше приложение.
Запускаем установленное приложение Eclipse.
Нажимаем File -> New Project. Нажимаем на папку Android -> Android Project.
Poject Name: Transport_Task
Указываем версию Android под которую мы разрабатываем приложение. В моем случае это Android 2.3.3
Package Name: trans.wert1go.namespace
Открываем файл res -> layout -> main.xml. Выделяем строку с текстом «Hello World, First_app Activity и удаляем ее. Нажимаем на вкладу xml и добавляем кнопку и немного текста:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.
android:layout_width="fill_
android:layout_height="fill_
android:background="#E5E1E2"
android:orientation="vertical"
android:paddingLeft="20dip"
android:paddingRight="20dip" >
<Button
android:id="@+id/start"
android:layout_width="fill_
android:layout_height="wrap_
android:layout_centerInParent=
android:text="@string/start_
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_
android:layout_height="wrap_
android:layout_alignParentTop=
android:layout_
android:layout_marginTop="
android:text="Транспортная задача"
android:textAppearance="?
android:textColor="#000000" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_
android:layout_height="wrap_
android:layout_
android:layout_alignRight="@+
android:layout_marginBottom="
android:text="Работу выполнил:"
android:textColor="#000000" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_
android:layout_height="wrap_
android:layout_alignLeft="@+
android:layout_alignTop="@+id/
android:layout_marginTop="
android:text="Васильев Бронислав"
android:textColor="#000000" />
</RelativeLayout>
Получается такая картина:
Открываем файл src - > trans.wert1go.namespace -> TransActovity.java Добавляем код:
package trans.wert1go.namespace;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.
public class TransActivity extends Activity implements
android.view.View.
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(
setContentView(R.layout.main);
View mStartButton = findViewById(R.id.start);
mStartButton.
}
@Override
public void onClick(View view) {
Intent intent = new Intent(this, solve.class);
startActivity(intent);
Информация о работе Реализация транспортной задачи линейного программирования в системе Android